首先我们要确定在哪里写代码,要想实现优先显示并且能随意退出程序这个功能最好的地方就是在InitInstance()函数中,好了,现在我们开始写程序。
第一步,我们新建一个单文档工程,工程名字就叫MainFram。
第二步:我们设计一个对话框资源,对话框资源ID为IDD_DIALOG_LOGIN,为它添加两个编辑框ID为IDC_EDIT_USERNAME和IDC_EDIT_PASSWORD,为编辑框关联cstring类型的变量两个按钮ID为IDC_BUTTON_LOGIN和IDC_BUTTON_CANCEL,并为这个对话框资源建一个MFC类,类的名字是CLoginDlg。
第三步:为两个按钮添加两个事件,OnButtonLogin()和OnButtonCancle() ,在OnButtonLogin()函数中我们添加代码如下:
void CLogIn::OnButtonLogin()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if (m_userName==""||m_passWord=="")
{
AfxMessageBox("Name or password can't be NULL",MB_OK,IDOK);
}
else
{
OnOK();
}
}
第四步:在OnButtonCancle()函数中我们添加代码如下:
void CLogIn::OnButtonCancle()
{
// TODO: Add your control notification handler code here
OnCancel();
}
第五步:在CMainFramApp类源文件中顶部声明#include "LogIn.h",在InitInstance()方法中第一行开始加入如下代码:
CLogIn logDlg;
BOOL islogin = false;
while (!islogin)
{
if (logDlg.DoModal()==IDOK)
{
if (logDlg.m_passWord=="123"&&logDlg.m_userName=="abc")
{
AfxMessageBox("登录成功!",MB_OK);
islogin=true;
}
else{
AfxMessageBox("Name or password is wrong,plese check again!",MB_OK);
}
}
else{
return false;
}
}
至此一个小小的简单登录对话框就完成了。不错登录对话框没有连接数据库,这是最大弊端,等本人搞定后,再修改。忘大家多多指教