MFC 登录对话框

运用MFC实现登录对话框。如果登录正确,主框架才会出现,登陆错误,程序退出。现在我在这里介绍下如何完成这个功能。

首先我们要确定在哪里写代码,要想实现优先显示并且能随意退出程序这个功能最好的地方就是在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;
  }
 }

 

至此一个小小的简单登录对话框就完成了。不错登录对话框没有连接数据库,这是最大弊端,等本人搞定后,再修改。忘大家多多指教

你可能感兴趣的:(MFC)