编写一个简单的登录对话框
王志明---湖南农业大学理学院
大家好,我们利用 MFC 编写一个简单的登录对话框。主窗体是单文档界面。程序运行
的时候,先弹出一个简单的登录对话框,输入用户名和密码后主窗体显示出来。
1、开打 VC++6.0。点击文件,新建,点击工程中的 MFC AppWizard(exe),在右边选择
工程保存的位置,并且为工程取好名字。
2、点击确定后,选择单个文档,你可以一直点击下一步,直到完成,或者在这里直接点
击完成即可,完成后界面如下。
3、点击工具栏中的“!”号试着编译运行一次,看是否有问题。如果没有问题,我们继续。
点击左边的 ResourceView,在 Dialog 上面鼠标右键单击弹出一弹出框,单击 Insert Dialog。
4、在右边新增的对话框中,适当改变窗口大小,加入静态文本框和文本编辑框。
5、鼠标右键单击刚才加进去的第一个静态文本框控件,点击属性。在弹出的标题中填写:
输入用户名:。然后回车
同样在下面的第二个静态文本框的属性标题改为:输入密码:。然后回车。
6、在第一个文本编辑框上右键单击,点击属性,把 ID 框中的 IDC_EDIT1 改为容易理解的
名字,如:IDC_EDIT_NAME,注意前面的 IDC_EDIT 最好不要去掉,这样容易见名而知义。
同样,对第二个文本编辑框的属性中的 IDC_EDIT2 改为:IDC_EDIT_PWD
7、在对话框上的任何空白的地方右键单击,点击建立类向导。
然后弹出
选择建立 Create a new class,点击 OK。
这是为这个对话框创建一个新的类。在 Name 中,为该对话框类取个名字:CDlg_login。下
面的 Base class 以及 Dialog ID 不要随便改动。然后点击 OK。这样新的类 CDlg_login 就与
本对话框建立起了联系。
8、点击 OK 后,我们并没有退出建立类向导。
点击 member variables。
9 、 左 键 双 击 IDC_EDIT_NAME ( 或 者 单 击 后 , 点 击 右 边 的 add variables ), 为
IDC_EDIT_NAME 增加一个对应在类中的名字:m_login_name。其他地方不要改动。
点击 OK。同样也对 IDC_EDIT_PWD 也取一个名字:m_login_pwd。
10、点击确定。这样我们就建立好了登录对话框以及其对应的类 CDlg_login。我们在
ClassView 里面可以看到我们新加入 类 CDlg_login。
11、我们注意到右边的对话框的标题栏上依然还是 Dialog,我们可以在对话框空白的地方单
击右键,点击属性,在标题中输入:请登录。其他地方不要改动。
12、这个时候如果编译运行的话,该对话框并不会自动弹出来。我们要让程序开始运行的时
候自动弹出登录对话框。点击右边的 FileView,点击 source files,双击 MainFrm.cpp。这样
在右边就打开了该文件。找到 CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct),
这是窗体框架创建函数。在该函数的后面(在 return 0 ;的前面)加入语句(注意大小写):
CDlg_login dlg;//生成一个登录对话框对象
dlg.DoModal();//让对话框对象以有模式形式显示出来
这个时候编译肯定会出错,我们要在 MainFrm.cpp 文件的前面添加:#include "dlg_login.h"。
编译后错误消失。运行结果如下。
13、在运行过程中,点击 OK 后,主窗体会显示出来,我们并没有在用户名以及密码框中输
入。下面我们要求输入正确的用户名和密码,主窗体才能显示出来。
14、点击左边的 ResourceView,双击 Dialog 中的 IDD_DIALOG1,然后双击右边的 OK 按
钮,
要求增加一个成员函数,点击 OK 即可。我们将在下面的截图所在的 void CDlg_login::OnOK()
函数中进行编程。