MFC学习笔记01:基于对话框编程

win32底层的东西太过繁杂,如果之后有需要再深入了解。直接上手mfc的实践学习。
主要包括两部分模态和非模态。区别就在于产生一个新的窗口后,之前的父窗口是否可以获得焦点,继续操作。

  1. 首先打开vs2019,建立mfc应用,然后创建。
  2. 弹出的对话框 应用程序类型选择基于对话框,项目样式选择mfc standard。会生成两个类app和dlg,然后点击完成。显示的内容放在dlg中。
  3. 点击解决方案中后缀为rc的文件 转到资源视图(也可以直接在菜单栏视图中找到),打开dialog,有两个文件,第一个为关于窗口,第二个就是主要操作的窗口。
  4. 右键点击dialog即可添加其他窗口。
  5. 将工具栏中的按钮可以添加到窗口中,选中后可以直接输入文本进行修改。

模态

  1. 要将窗口与.h和.cpp对应起来,在子窗口右键添加类,设置类名,完成后自动创建类,并生成相应类的cpp和h文件,h文件中有一个枚举类型,显示类与相应的控件窗口ID联系起来即可。
  2. 添加点击事件,最简单的方法是双击按钮(也可以在属性中的控件事件中添加或者右键添加事件处理程序)。进入到项目的cpp文件中,光标所在的行为新创建的点击事件成员函数。先到文件头部,添加引用头文件,把刚才创建类的h文件添加,回到点击事件函数中。
  3. 使用类名 创建对象,然后调用DoModal()。就可以完成弹出模态对话框。

非模态

  1. 前面的方法与模态对话框的1、2步相同,由于创建的非模态无阻塞效果,所以直接写在点击事件的函数中会闪一下后自动关闭,所以将创建对象添加到项目名的h文件的类中 添加private属性,并在文件开头引用类的h文件。
  2. 由于多次创建同一个窗口会导致程序崩溃,所以要将创建窗口的程序放到初始化函数OnInitdalog中。对象名.Create(IDD_SHOW);
  3. 在点击事件的函数中,只需要写出显示窗口的语句即可。对象名.ShowWindow(SW_SHOWNORMAL);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值