Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
Ex_RegisterDlg.cpp
Package: VC++.NETcode.rar [view]
Upload User: huayioo_cn
Upload Date: 2014-04-27
Package Size: 3356k
Code Size: 8k
Category:
.net
Development Platform:
Visual C++
- // Ex_RegisterDlg.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "Ex_Register.h"
- #include "Ex_RegisterDlg.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #endif
- // 用于应用程序“关于”菜单项的 CAboutDlg 对话框
- class CAboutDlg : public CDialog
- {
- public:
- CAboutDlg();
- // 对话框数据
- enum { IDD = IDD_ABOUTBOX };
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
- // 实现
- protected:
- DECLARE_MESSAGE_MAP()
- };
- CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
- {
- }
- void CAboutDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- }
- BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
- END_MESSAGE_MAP()
- // CEx_RegisterDlg 对话框
- BEGIN_DHTML_URL_EVENT_MAP(CEx_RegisterDlg)
- BEGIN_EMBED_DHTML_EVENT_MAP(CEx_RegisterDlg, Page1)
- DHTML_EVENT_ONCLICK(_T("ButtonCancel"), OnButtonCancel)
- DHTML_EVENT_ONCLICK(_T("RadioMan"), OnRadioMan)
- DHTML_EVENT_ONCLICK(_T("RadioWoman"), OnRadioWoman)
- DHTML_EVENT_ONCLICK(_T("Next"), OnPage1Next)
- END_EMBED_DHTML_EVENT_MAP()
- BEGIN_EMBED_DHTML_EVENT_MAP(CEx_RegisterDlg, Page2)
- DHTML_EVENT_ONCLICK(_T("Back"), OnPage2Back)
- DHTML_EVENT_ONCLICK(_T("Next"), OnPage2Next)
- END_EMBED_DHTML_EVENT_MAP()
- BEGIN_EMBED_DHTML_EVENT_MAP(CEx_RegisterDlg, Page3)
- DHTML_EVENT_ONCLICK(_T("Back"), OnPage3Back)
- DHTML_EVENT_ONCLICK(_T("Finish"), OnPage3Finish)
- END_EMBED_DHTML_EVENT_MAP()
- BEGIN_URL_ENTRIES(CEx_RegisterDlg)
- URL_EVENT_ENTRY(CEx_RegisterDlg, _T("131"), Page1)
- URL_EVENT_ENTRY(CEx_RegisterDlg, _T("132"), Page2)
- URL_EVENT_ENTRY(CEx_RegisterDlg, _T("133"), Page3)
- // 注: IDR_HTML_EX_REGISTER_DIALOG = 131,
- // IDR_HTML_INFOMATION = 132, IDR_HTML_FINISH = 133
- END_URL_ENTRIES()
- END_DHTML_URL_EVENT_MAP(CEx_RegisterDlg)
- CEx_RegisterDlg::CEx_RegisterDlg(CWnd* pParent /*=NULL*/)
- : CMultiPageDHtmlDialog(CEx_RegisterDlg::IDD, CEx_RegisterDlg::IDH, pParent)
- {
- m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
- }
- void CEx_RegisterDlg::DoDataExchange(CDataExchange* pDX)
- {
- CMultiPageDHtmlDialog::DoDataExchange(pDX);
- DDX_DHtml_ElementText(pDX,_T("TextName"),DISPID_A_VALUE ,m_strName);
- DDX_DHtml_SelectString(pDX,_T("SelectClass"),m_strClass);
- DDX_DHtml_SelectString(pDX,_T("SelectNum"),m_strNum);
- DDX_DHtml_ElementText(pDX,_T("TextEMail"),DISPID_A_VALUE ,m_strEMail);
- DDX_DHtml_ElementText(pDX,_T("TextNameInfo"),DISPID_A_VALUE ,m_strNameInfo);
- DDX_DHtml_ElementText(pDX,_T("TextEMailInfo"),DISPID_A_VALUE ,m_strEMailInfo);
- }
- BEGIN_MESSAGE_MAP(CEx_RegisterDlg, CMultiPageDHtmlDialog)
- ON_WM_SYSCOMMAND()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- // CEx_RegisterDlg 消息处理程序
- BOOL CEx_RegisterDlg::OnInitDialog()
- {
- CMultiPageDHtmlDialog::OnInitDialog();
- // 将“关于...”菜单项添加到系统菜单中。
- // IDM_ABOUTBOX 必须在系统命令范围内。
- ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
- ASSERT(IDM_ABOUTBOX < 0xF000);
- CMenu* pSysMenu = GetSystemMenu(FALSE);
- if (pSysMenu != NULL)
- {
- CString strAboutMenu;
- strAboutMenu.LoadString(IDS_ABOUTBOX);
- if (!strAboutMenu.IsEmpty())
- {
- pSysMenu->AppendMenu(MF_SEPARATOR);
- pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
- }
- }
- // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
- // 执行此操作
- SetIcon(m_hIcon, TRUE); // 设置大图标
- SetIcon(m_hIcon, FALSE); // 设置小图标
- // TODO:在此添加额外的初始化代码
- m_strName.Empty();
- m_strEMail.Empty();
- m_nMan = BST_CHECKED;
- return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
- }
- void CEx_RegisterDlg::OnSysCommand(UINT nID, LPARAM lParam)
- {
- if ((nID & 0xFFF0) == IDM_ABOUTBOX)
- {
- CAboutDlg dlgAbout;
- dlgAbout.DoModal();
- }
- else
- {
- CMultiPageDHtmlDialog::OnSysCommand(nID, lParam);
- }
- }
- // 如果向对话框添加最小化按钮,则需要下面的代码
- // 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
- // 这将由框架自动完成。
- void CEx_RegisterDlg::OnPaint()
- {
- if (IsIconic())
- {
- CPaintDC dc(this); // 用于绘制的设备上下文
- SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
- // 使图标在工作矩形中居中
- int cxIcon = GetSystemMetrics(SM_CXICON);
- int cyIcon = GetSystemMetrics(SM_CYICON);
- CRect rect;
- GetClientRect(&rect);
- int x = (rect.Width() - cxIcon + 1) / 2;
- int y = (rect.Height() - cyIcon + 1) / 2;
- // 绘制图标
- dc.DrawIcon(x, y, m_hIcon);
- }
- else
- {
- CMultiPageDHtmlDialog::OnPaint();
- }
- }
- //当用户拖动最小化窗口时系统调用此函数取得光标显示。
- HCURSOR CEx_RegisterDlg::OnQueryDragIcon()
- {
- return static_cast<HCURSOR>(m_hIcon);
- }
- HRESULT CEx_RegisterDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
- {
- OnCancel();
- return S_OK;
- }
- void CEx_RegisterDlg::OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
- {
- CMultiPageDHtmlDialog::OnDocumentComplete(pDisp, szUrl);
- // TODO:在此添加专用代码和/或调用基类
- CString m_strClassName,m_str[5];
- m_str[0] =_T("<SELECT ID="SelectClass" SIZE="1">");
- m_str[1] =_T("<option selected>9911班</option>");
- m_str[2] =_T("<option>9912班</option>");
- m_str[3] =_T("<option>9913班</option>");
- m_str[4] =_T("<option>9914班</option></SELECT>n");
- for (int i=0; i< 5; i++) m_strClassName += m_str[i];
- BSTR bstrClassName = m_strClassName.AllocSysString();
- SetElementHtml(_T("ClassArea"),bstrClassName);
- SysFreeString(bstrClassName);
- m_str[0] =_T("<SELECT ID="SelectNum" SIZE="1">");
- m_str[1] =_T("<option selected>1</option>");
- m_strClassName.Empty();
- m_strClassName = m_str[0]+ m_str[1];
- for (i=2; i<50; i++) {
- m_str[2].Format("<option>%d</option>",i);
- m_strClassName+=m_str[2];
- }
- m_str[4] =_T("<option>50</option></SELECT>n");
- m_strClassName+=m_str[4];
- bstrClassName = m_strClassName.AllocSysString();
- SetElementHtml(_T("NumArea"),bstrClassName);
- SysFreeString(bstrClassName);
- }
- HRESULT CEx_RegisterDlg::OnRadioMan(IHTMLElement* /*pElement*/)
- {
- m_nMan = 1;
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnRadioWoman(IHTMLElement* /*pElement*/)
- {
- m_nMan = 0;
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnPage1Next(IHTMLElement *pElement)
- {
- UpdateData();
- m_strName.Trim();
- m_strEMail.Trim();
- if ((m_strName.IsEmpty())||(m_strName=="请输入姓名")){
- m_strName="请输入姓名";
- UpdateData(FALSE);
- return S_OK;
- }
- if ((m_strEMail.IsEmpty())||(m_strEMail=="请输入EMAIL")){
- m_strEMail="请输入EMAIL";
- UpdateData(FALSE);
- return S_OK;
- } else {
- if ((m_strEMail.Find('@')<0)||(m_strEMail.Find('.')<0)){
- m_strEMail="EMAIL输入错误!";
- UpdateData(FALSE);
- return S_OK;
- }
- }
- /* CString m_str;
- m_str.Format("你输入的注册信息是:n%sn%sn%sn%sn%s",m_strName,m_nMan?"男":"女",m_strClass,m_strNum,m_strEMail);
- MessageBox(m_str);
- */
- m_strNameInfo = m_strName;
- m_strEMailInfo = m_strEMail;
- LoadFromResource(IDR_HTML_INFOMATION);
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnPage2Next(IHTMLElement *pElement)
- {
- LoadFromResource(IDR_HTML_FINISH);
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnPage2Back(IHTMLElement *pElement)
- {
- LoadFromResource(IDR_HTML_EX_REGISTER_DIALOG);
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnPage3Back(IHTMLElement *pElement)
- {
- LoadFromResource(IDR_HTML_INFOMATION);
- return S_OK;
- }
- HRESULT CEx_RegisterDlg::OnPage3Finish(IHTMLElement *pElement)
- {
- OnOK();
- return S_OK;
- }
- void CEx_RegisterDlg::OnNavigateComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
- {
- CMultiPageDHtmlDialog::OnNavigateComplete(pDisp, szUrl);
- SetWindowText(_T("用户注册——共3步,这是第一步!"));
- CString m_str(szUrl),str;
- m_str.Trim();
- if (m_str.Right(3) == "132") {
- SetWindowText(_T("用户注册——共3步,这是第二步!"));
- str = m_nMan?"男":"女";
- BSTR bstr = str.AllocSysString();
- SetElementHtml(_T("SexAreaInfo"),bstr);
- SysFreeString(bstr);
- bstr = m_strClass.AllocSysString();
- SetElementHtml(_T("ClassAreaInfo"),bstr);
- SysFreeString(bstr);
- bstr = m_strNum.AllocSysString();
- SetElementHtml(_T("NumAreaInfo"),bstr);
- SysFreeString(bstr);
- }
- if (m_str.Right(3) == "133") {
- SetWindowText(_T("用户注册——共3步,这是最后一步!"));
- str = "你已经完成注册!谢谢!";
- BSTR bstr = str.AllocSysString();
- SetElementHtml(_T("TextArea"),bstr);
- SysFreeString(bstr);
- }
- }