在主窗口显示前先显示登录窗口

在主窗口显示前先显示登录窗口


通常的应用程序,在主界面显示前要先有一个登录窗口,登录成功后才会显示主界面,下面我们来解决这个问题。


第一步:先利用VS的APP向导建立一个MFC的对话框应用

这一步我们省略了


第二步:我们建立登录窗口

利用向导在工程里加入一个名称叫CLoginDlg的类,这个类继承MFC的CDialog类。

         建立后,打开资源管理器,在里面加入用户名和密码:

       

第三步:在主界面的窗口类的头文件中加入登录窗口的变量

  1. public:  
  2.     CLoginDlg m_loginDlg;  
public:
    CLoginDlg m_loginDlg;

第四步: 在主界面的窗口类中的OnInitDialog方法中加入如下代码:

  1. if(m_loginDlg.DoModal() != IDOK)  
  2. {  
  3.     OnOK();  
  4. }  
if(m_loginDlg.DoModal() != IDOK)
{
    OnOK();
}

按Ctrl+F5运行,得到我们想要的结果。


在登录框中,我们需要验证用户名和密码,我们删掉原来的确认按钮,加入一个button,写上确认,给它加入点击事件函数


  1. void CLoginDlg::OnBnClickedBt_log()  
  2. {  
  3.     CString name;  
  4.     CString pwd;  
  5.     GetDlgItem(IDC_EDIT_NAME)->GetWindowTextW(name);  
  6.     GetDlgItem(IDC_EDIT_PWD)->GetWindowTextW(pwd);  
  7.     if(name.Compare(_T(“qin”)))  
  8.     {  
  9.         MessageBox(_T(“用户名不对”),_T(“提示”));  
  10.     }  
  11.     else  
  12.     {  
  13.         OnOK();  
  14.     }  
  15. }  
void CLoginDlg::OnBnClickedBt_log()
{
    CString name;
    CString pwd;
    GetDlgItem(IDC_EDIT_NAME)->GetWindowTextW(name);
    GetDlgItem(IDC_EDIT_PWD)->GetWindowTextW(pwd);
    if(name.Compare(_T("qin")))
    {
        MessageBox(_T("用户名不对"),_T("提示"));
    }
    else
    {
        OnOK();
    }
}






  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值