首页 理论教育VC++MFC视频教程:权限管理与登录对话框组合

VC++MFC视频教程:权限管理与登录对话框组合

【摘要】:打开本章第1节建立的“QQ”工程,本节继续演示账号及权限管理与登录对话框的组合。表5-2 “权限管理”对话框的控件属性4)通过类向导为IDD_PRIOR_DLG建立一个对话框类“CPriorDlg”,如图5-8所示。12)在权限管理对话框中,分别双击增、删、改的3个按钮,建立消息映射函数。登录成功后进入主对话框单击“权限管理”按钮,进入“权限管理”对话框添加一些账户信息,然后使用新添加的账户重新登录,如图5-16所示。

一个单机版软件,登录账号和密码通常不止一个,而且使用不同账号登录权限是不一样的。例如,高级权限可以添加和删除账号,普通权限则不能等。

打开本章第1节建立的“QQ”工程,本节继续演示账号及权限管理与登录对话框的组合。

1)在类视图中双击CQQApp类,修改头文件代码。

添加一个结构体SUser用于存储权限管理数据,并在CQQApp类中添加一个类成员变量

978-7-111-46378-8-Chapter05-11.jpg

2)添加一个新的对话框资源,ID为IDD_PRIOR_DLG,标题为“权限管理”,如图5-7所示。

978-7-111-46378-8-Chapter05-12.jpg

图5-7 插入权限管理主对话框

3)修改对话框字体和外观,添加一些控件并修改控件的属性,见表5-2。

表5-2 “权限管理”对话框的控件属性

978-7-111-46378-8-Chapter05-13.jpg

4)通过类向导为IDD_PRIOR_DLG建立一个对话框类“CPriorDlg”,如图5-8所示。

978-7-111-46378-8-Chapter05-14.jpg

图5-8 创建权限管理对话框的关联类

5)在类视图中的CPriorDlg对话框类上单击鼠标右键,在弹出的快捷菜单中,选择“Add Member Function”命令,添加一个普通成员函数,如图5-9所示。

978-7-111-46378-8-Chapter05-15.jpg

图5-9 添加普通成员函数

6)填写函数名为ReadUsers,返回值是void,然后单击“OK”按钮完成添加函数,如图5-10所示。

978-7-111-46378-8-Chapter05-16.jpg

图5-10 填写函数信息

7)修改新添加的类成员函数的代码。

978-7-111-46378-8-Chapter05-17.jpg

978-7-111-46378-8-Chapter05-18.jpg

8)在权限管理对话框中,添加WM_INITDIALOG的消息映射函数OnInitDialog,如图5-11所示。

978-7-111-46378-8-Chapter05-19.jpg

图5-11 添加WM_INITDIALOG消息映射函数

9)修改函数代码。

978-7-111-46378-8-Chapter05-20.jpg

10)为CPriorDlg类添加WM_DESTROY的消息映射函数,如图5-12所示。

978-7-111-46378-8-Chapter05-21.jpg

图5-12 添加WM_DESTROY的消息映射函数

11)修改消息映射函数CPriorDlg::OnDestroy()的代码。(www.chuimin.cn)

978-7-111-46378-8-Chapter05-22.jpg

12)在权限管理对话框中,分别双击增、删、改的3个按钮,建立消息映射函数。

978-7-111-46378-8-Chapter05-23.jpg

978-7-111-46378-8-Chapter05-24.jpg

978-7-111-46378-8-Chapter05-25.jpg

13)在主对话框中添加一个按钮,ID为IDC_PRIOR,标题为“权限管理”,如图5-13所示。

978-7-111-46378-8-Chapter05-26.jpg

图5-13 编辑主对话框

14)双击“权限管理”按钮建立消息映射函数,并编写代码。

978-7-111-46378-8-Chapter05-27.jpg

15)在类视图中的CLoginDlg对话框类上单击鼠标右键,在弹出的快捷菜单中,选择“Add Member Function”命令,添加一个成员函数,如图5-14所示。

978-7-111-46378-8-Chapter05-28.jpg

图5-14 在CLoginDlg类中添加一个普通成员函数

16)单击“OK”按钮添加CheckUser函数并修改代码。

978-7-111-46378-8-Chapter05-29.jpg

17)在类视图中的CLoginDlg对话框类上单击鼠标右键,在弹出的快捷菜单中,选择“Add Member Function”命令,再添加一个成员函数,如图5-15所示。

978-7-111-46378-8-Chapter05-30.jpg

图5-15 在CLoginDlg类中再添加一个普通成员函数

18)单击“OK”按钮添加普通成员函数并修改代码。

978-7-111-46378-8-Chapter05-31.jpg

19)修改CLoginDlg中的OnOK函数的代码。

978-7-111-46378-8-Chapter05-32.jpg

20)修改主对话框初始化函数OnInitDialog的代码。

978-7-111-46378-8-Chapter05-33.jpg

21)修改主对话框“重新登录”按钮的消息映射函数代码。

978-7-111-46378-8-Chapter05-34.jpg

978-7-111-46378-8-Chapter05-35.jpg

22)编译并运行,测试代码。

首次登录使用的账户和密码都是“admin”。登录成功主对话框的标题是“admin­高级”,权限管理的按钮是激活状态。登录成功后进入主对话框单击“权限管理”按钮,进入“权限管理”对话框添加一些账户信息,然后使用新添加的账户重新登录,如图5-16所示。

978-7-111-46378-8-Chapter05-36.jpg

图5-16 查看运行结果