参考博客:
VS2010/MFC编程入门之七(对话框:为对话框添加控件)-软件开发-鸡啄米
VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)-软件开发-鸡啄米
基于基础(三)中写的应用程序test02来讲,
一、对话框添加控件
1、找到资源视图,如下:进行双击
2、删除系统给你新建好的静态文本框,找到工具箱,找到Static Text来进行拖动到界面上,实现效果如下:
3、选中当前拖动过来的static text,右击跳转至属性,将ID和Caption进行更改,如下:
4、同理继续拖动个编辑框进来,如下:
5、 可以修改下ID,类似与qt中修改控件名称,如下:
6、同理在添加几个,出现如下效果:
7、添加上按钮,还是从工具箱中拖过来,如下:(添加一个Button),修改下Caption和ID
8、将原先的默认的取消按钮,修改下名称为:退出,最终进行编译下,实现效果如下:
实现一个正常的控件添加的功能
二、创建对话框类
1、 同样是找到资源视图,找到Dialog,找到对话框模板,进行右键点击,进行插入Dialog,如下:
2、默认就会生成 一个新的dialog,如下:
3、选中此对话框模板,点右键,在右键菜单中选择添加自定义类名,然后选择完成,如下:
这边注意下,因为是mfc,所以一般类名是以C来开头的
。
三、对话框中的控件添加变量
1、因为编辑框中的数据可能会经常变化,所以需要它们每个控件关联个变量
2、右击示例编辑框,选择添加变量,更改类别为Value,变量类型为double,取个变量名,实现如下:
3、发现在test02Dlg.h中静态变量生成如下:
4、同理,为剩下的两个变量进行添加,实现效果如下:
实现机制:
在程序运行界面中输入被加数,则通过Ctest02Dlg的DoDataExchange()函数可以将输入的值保存到m_editSummand变量中,
若修改了变量m_editSummand的值,则通过Ctest02Dlg的DoDataExchange()函数也可以将新的变量值显示到被加数的编辑框中。
(实现这种反向操作,需要在程序中调用Ctest02Dlg::UpdateData()函数,由UpdateData()函数再去自动调用DoDataExchange()的)
这种运行机制跟qt还是有差别的,qt是通过信号和槽来实现这种正向和反向的操作