MFC 简单的用户登录界面(在主程序窗口之前)

https://blog.csdn.net/to_Baidu/article/details/53649796

步骤一:登录界面设计


首先在VS中设计一个简单的登录界面,点击【资源视图】,然后右键【Dialog】,选择【添加资源】——【Dialog】——【新建】,这样就创建了一个新的空白对话框。

可以按自己的需要更改窗口的ID,并根据自己需要将窗口设计成登录的方式,例如我的设计如下:

      

在建立用户登录界面的时候,在添加两个示例编辑框的同时,添加变量(CString 类型)m_strUser和m_strPassword。

步骤二:添加登录验证代码


在主程序的App类的InitInstance函数体内的最前面加上如下代码(这里为BOOL CGeoDemoApp::InitInstance()函数):

    //============登录===========
    //在主程序窗口运行前首先弹出登录对话框
    while (TRUE)
    {
        CLogin login_Dialog;
        //模态对话框
        int nReturn = login_Dialog.DoModal();//返回IDOK或IDCANCEL。如果返回的是IDCANCEL,则要调用WindowsCommDlgExtendedError函数来确定是否发生了一个错误。IDOK和IDCANCEL都是常量,它表明用户选择的是OK按钮还是Cancel按钮
        if(nReturn == IDCANCEL){//点击取消
            return FALSE;
        }
        if (nReturn == IDOK){//点击确定
            HWND login_Hwnd = GetDlgItem(login_Dialog,IDD_LOGIN);
            CString str_User = login_Dialog.m_strUser;
            CString str_Password = login_Dialog.m_strPassword;
            if(!(str_User == "admin" && str_Password == "admin")){//如果用户名密码不是admin/admin,则报错,提示重新输入,直至正确为止。
                if(IDOK == MessageBox(NULL,"用户ID或密码错误!\n 请重新输入!","登录失败!",MB_OKCANCEL|MB_ICONERROR))
                    continue;
                else
                    return FALSE;
            }
            else
                break;
        }
 
    }

截图展示如下:


说明:本例主要目的是告诉大家登录界面如何编写,用户信息验证代码在什么地方写;实际的登录不会这么简单,肯定会和数据库关联,并从数据库中获取用户注册信息进行验证。

猜你喜欢

转载自blog.csdn.net/active2489595970/article/details/88292669