//清除对话框中的输入
m_szLoginNcom = "";
m_szPassword = "";
//根据控件变量设置对话框的控件的值
UpdateData(FALSE);
4.为对话框类添加控件通知消息的处理函数
MFC 为对话框和控件定义了许多消息,可以通过“ClassWizard”对话框来查看、新建和
删除相应的消息响应函数。下面在实例Sample4_1 的登录对话框中添加单击“确认”和“取
消”两个按钮的消息处理函数,步骤如下:
(1)在IDE 主菜单栏中依次选择菜单“View|ClassWizard”,或者在开发环境的界面下直
接使用快捷键Ctrl+W,打开“ClassWizard”对话框,选择“Message Maps”选项卡,在“Project”
下拉列表框中选择Sample4_1,在“Class ncom”下拉列表框中选择“CLoginDialog”。
图4-18 控件IDOK 的通知消息
(2)在“Object IDs”列表框中选择IDOK,对应的控件是“确认”按钮,按钮一般有两
种通知消息,分别是BN_CLICKED(按钮被单击)和BN_DOUBLECLICKED(按钮被双击)。
(3)要为对话框添加用户单击“确认”按钮后的验证过程,需要添加一个处理IDOK 的
BN_CLICKED 通知消息成员函数。在“Messages”列表框中选择BN_CLICKED,单击“Add
Function”按钮,或直接双击“Messages”列表框中的BN_CLICKED,弹出Addcommber function
对话框,单击“OK”按钮就可以创建一个名称为OnOK 的消息处理函数。单击“Edit Code”
按钮,退出ClassWizard,并自动打开LoginDialog.cpp 文件,且定位在OnOK()函数上。
为OnOK()函数添加如下代码:
void CLoginDialog::OnOK()
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·72·
{
// TODO: Add extra validation here
//以下添加用户名和密码的验证过程
//注意,在对话框的OnOK 函数中自动调用CDialog::UpdateData(TRUE),
//即自动更新控件变量的值
//本例为简单起见,合法的用户名只能是user,对应密码为test1234
if (m_szLoginNcom == "user" && m_szPassword == "test1234")
{
//验证通过,并提示用户
//MessageBox 是Windows 系统的消息对话框,用于提示简单的消息,
//具体内容可以参考本章的最后一节
MessageBox("用户验证通过", "登录提示",MB_OK);
}
else
{
//验证不通过