VS2010/MFC入门编程五(对话框:模态对话框的弹出过程)

一.模态对话框和非模态对话框
        Windows对话框分为两类:模态对话框和非模态对话框。
       模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。
       非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。
       大家对Windows系统很了解,相信这两种对话框应该都遇到过。下面就将对登录界面进行讲解模态对话框


二.添加一个新对话框并弹出它
1.根据“创建对话框模板和修改对话框属性”中所讲的方法,在Resource View中的“Dialog”上点右键选择“Insert Dialog”,创建一个新的对话框模板。在新建的Dialog上面添加两个静态文本两个文本编辑框以及两个按钮,修改名称,在密码文本框属性里面选择Password  为 True;

 

 


 2.根据“创建对话框类和添加控件变量”中创建对话框类的方法,在对话框模板上点右键选择“Add Class...”,弹出添加类的对话框,设置“Class name”为CTipDlg,点“OK”。在Solution Explorer中可以看到生成了CTipDlg类的头文件TipDlg.h和源文件TipDlg.cpp
 

3在CtestDlg的头文件testDlg.h中添加 TipDlg.h  并为其添加成员 CTipDlg Dlg;

 

4.为两个文本框添加关联变量m_user and m_password 为两个按钮设置ID IDCANCEL 和 IDOK;

4在初始化函数 BOOL CtestDlg::OnInitDialog()中添加代码产生出登录框,代码如下:

 

	// TODO: Add extra initialization here
	INT_PTR nRes;             // 用于保存DoModal函数的返回值   
  
    	CTipDlg tipDlg;           // 构造对话框类CTipDlg的实例   
    	nRes = tipDlg.DoModal();  // 弹出对话框   
    	if (IDCANCEL == nRes)     // 判断对话框退出后返回值是否为IDCANCEL,如果是则return,否则继续向下执行   
	{
	//	CDialogEx::OnDestroy();
		CDialog::EndDialog(0);
		return false;   
	}
	if(tipDlg.m_user == L"yujia" &&  tipDlg.m_password == L"123456")
	{	
  			return TRUE;  // return TRUE  unless you set the focus to a control
	}
	else
	{
			MessageBox(L"用户或则密码错误");
			CDialogEx::OnDestroy();
			return false;
	}

	
编译运行 就会出现一个完整的登录界面。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值