《MFC基于单文本和对话框的登陆界面实现》由会员分享,可在线阅读,更多相关《MFC基于单文本和对话框的登陆界面实现(4页珍藏版)》请在金锄头文库上搜索。
1、一、添加 基于单文本的登录对话框.1.建立一个单文本的 MFC 程序 .2.添加一个对话框.然后添加一个 CLoginDialog 类 public 继承 CDialog.此时也会增加两个文件 接着添加控件(用户名: 登录密码:确定/取消)添加变量(CString m_strUserName;CString m_strUserPwd;)直接添加变量:在 LoginDialog.h 中 BOOL m_bCancle; 并在 LoginDialog.cpp 初始化函数中添加 m_bCancle = false;添加按钮确定和取消两个函数.并在取消函数中添加 m_bCancle = true;+3.
2、在 工程名 .h 文件中添加一个 public 的 布尔型变量 BOOL m_bSuccessLogin;/用了识别登录名和密码一致否;4.在 工程名View.cpp 文件中添加 C工程名App* pApp = (C工程名App*) AfxGetApp();5.工程名View.cpp 文件中添加初始化函数 OnInitialUpdate()/并在工程名View.h 中声明变量CLoginDialog logindlg;/并添加如下代码:CView:OnInitialUpdate();/ TODO: 在此添加专用代码和/或调用基类p:logindlg.m_strUserName = _T();l
3、ogindlg.m_strUserPwd = _T();logindlg.DoModal();if (logindlg.m_strUserName=aa)&(logindlg.m_strUserPwd=bb)pApp-m_bSuccessLogin = true;else if (!logindlg.m_bCancle)AfxMessageBox(L错误的帐号或密码!);goto p;6.修改 LoginTest 类中的函数 BOOL C工程名App:InitInstance()如下所示:将/ 唯一的一个窗口已初始化,因此显示它并对其进行更新m_pMainWnd-ShowWindow(SW_S
4、HOW);m_pMainWnd-UpdateWindow();/ 仅当具有后缀时才调用 DragAcceptFiles/ 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生return TRUE;替换为:/ 唯一的一个窗口已初始化,因此显示它并对其进行更新if (m_bSuccessLogin)m_pMainWnd-ShowWindow(SW_SHOWMAXIMIZED);m_pMainWnd-UpdateWindow();/ 仅当存在后缀时才调用 DragAcceptFiles,/ 在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
5、return TRUE;else delete(m_pMainWnd);m_pMainWnd = NULL;return FALSE;最后不要忘了添加一些头文件.a. 在工程名View.cpp 中添加#include LoginDialog.hb. 在工程名View.h 中添加#include LoginDialog.h二、添加基于对话框的 登录界面记得添加登录界面的两个变量:Loginname Password手动直接添加 BOOL m_bCancle;并在 LoginDialog.cpp 初始化函数中添加 m_bCancle = false;添加按钮确定和取消两个函数.并在取消函数中添加
6、m_bCancle = true;在 CLoginDialog 类中添加两个函数:Setloginname() Setpassword()CString& CLoginDialog:Setloginname(void)/TODO: insert return statement herereturn Loginname;CString& CLoginDialog:Setpassword(void)/TODO: insert return statement herereturn Password;在基于对话框_登录界面.cpp 文件中的函数 BOOL C 基于对话框_登录界面App:InitI
7、nstance()里面p:CLoginDialog logindlg;logindlg.DoModal();if(logindlg.Setloginname()=Lgwb&logindlg.Setpassword()=L157)m_bSuccessLogin=true; elseif(!logindlg.m_bCancle)AfxMessageBox(L错误的帐号或密码!);goto p; if (m_bSuccessLogin)C 基于对话框_登录界面 Dlg dlg;m_pMainWnd = INT_PTR nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: 在此放置处理何时用/ “确定”来关闭对话框的代码else if (nResponse = IDCANCEL)/ TODO: 在此放置处理何时用/ “取消”来关闭对话框的代码elsedelete(m_pMainWnd);m_pMainWnd = NULL;return FALSE;另外注意添加头文件喔.在基于对话框_登录界面.cpp #include LoginDialog.h还有变量声明喔.在在基于对话框_登录界面.h BOOL m_bSuccessLogin;