应用前景:面对一个应用程序,用户只有输入正确的用户名和密码后,才能进入主窗口进行其他的操作;否则,提示登录失败,重新输入。
开发环境:Windows XP + VC6.0
新建一个基于MFC的单文档应用程序(项目名:delme),默认就行,。。。直到Finish。编译运行,就可以有一个窗口出来了,这个窗口作为主窗口。
现在要做一个登录窗口,它将在主窗口显示出来前跳出来提示用户登录。
通过“资源”->Dialog插入一个对话框资源(同时关联一个对话框类class CLogin: public CDialog),窗口布局如下:
为OK按钮添加点击事件
void CLogin::OnOK()
{
UpdateData();
MessageBox(m_sUName);
if(m_sUName == "QQ")
MessageBox("Right");
else
{
MessageBox("Wrong");
return;
}
CDialog::OnOK();
}
接下来,在应用程序的初始化函数(BOOL CDelmeApp::InitInstance())中以模态方式显示登录对话框,
BOOL CDelmeApp::InitInstance() // 应用程序实例化
{
AfxEnableControlContainer();
CLogin dlg; // dlg: 用户登录窗口
if(dlg.DoModal() == IDCANCEL) // 如果用户点击了取消
{
AfxMessageBox("Bye-bye");
return FALSE; // 这里return False会导致退出应用程序
}
...............
最后编译运行,就能知道效果了:只有在登录对话框中输入“QQ”才能打开应用程序主窗口,否则将显示“Wrong”,这就是最简单的 用户登录验证应用程序的模型了。