MFC-登录框
2016-04-08 21:33
211 查看
有些软件需要登录才能进入到主页面,所以就需要个登录框.登录框需要解决两个难点.第一,对话框窗口需要接受回车消息.第二,当登录成功后弹出主窗口.
1.添加资源–>对话框
2.给登录框添加类
3.在头文件中添加成员变量
4.在主对话框初始化对话框中打开登录框
5.实现登录功能
6.实现取消功能
7.重写PreTranslateMessage消息
登陆框功能基本完成,还可以判断输入用户名密码的错误次数,达到这个次数就触发什么事件,还可以添加位图背景等等扩展功能。
1.添加资源–>对话框
2.给登录框添加类
3.在头文件中添加成员变量
//在构造函数初始化为FALSE BOOL m_bLogIn;
4.在主对话框初始化对话框中打开登录框
//判断是否登录成功 CLogInDlg dlg; if (dlg.DoModal())//打开登录框 { //登录失败 if (dlg.m_bLogIn == FALSE) { CMFCTESTDlg::OnCancel();//关闭主对话框 return FALSE; } }
5.实现登录功能
UpdateData(TRUE); if (m_username != TEXT("username")) { AfxMessageBox(TEXT("用户名错误!")); m_bLogIn = FALSE;//登录失败 } else { if (m_password != TEXT("password")) { AfxMessageBox(TEXT("密码错误!")); m_bLogIn = FALSE;//登录失败 } else { m_bLogIn = TRUE;//登录成功 CLogInDlg::OnOK();//关闭登录框 } }
6.实现取消功能
CLogInDlg::OnCancel();
7.重写PreTranslateMessage消息
BOOL CLogInDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { if (pMsg->wParam == VK_RETURN) { OnBnClickedButton1();//如果按回车就调用登录按钮 return 0; //这个一点要加上,不然登陆框就会闪退 } } return CDialog::PreTranslateMessage(pMsg); }
登陆框功能基本完成,还可以判断输入用户名密码的错误次数,达到这个次数就触发什么事件,还可以添加位图背景等等扩展功能。
相关文章推荐
- CArray
- 【科普杂谈】同网段和不同网段设备通信过程详解
- 这是就是联想?2年4次因同一问题返售后,售后找不到确切原因。。。。。
- Spark环境配置
- java学习-5.初始化与清理
- 这是就是联想?2年4次因同一问题返售后,售后找不到确切原因。。。。。
- 最详细的 Android Toolbar 开发实践总结
- HDU4847-Wow! Such Doge!简单模拟
- gcc attribute weak & alias应用
- 再见了,CSDN!
- B-树,B+树学习总结
- 【USACO题库】2.4.2 Overfencing穿越栅栏
- SQL Server 自学笔记
- java学习-4.控制执行流程
- 练习二 1008 猜数字问题
- Spring Resource 资源
- java发送http的get、post请求
- bzoj 1706 奶牛接力
- 京东2016实习笔试糖果因子最大组合
- 【C++】《More Effective C++》读书笔记(转载+修订)