再谈MFC学习——模态对话框的数据传递

学习c++的目的就是为了使用封装好的类。而最最经典的封装类当然是微软的MFC窗体程序类。

学习MFC编程之前要学习c++的主要知识,掌握c++的基本编程思想。

以下就看下我学习的MFC模态对话框的数据传递。

首先。什么叫做模态对话框呢?模态对话框指的是当弹出这种对话框的时候,程序不能对应除了此对话框外其它的窗体的响应。直到关闭了这个对话框,程序才干响应其它的对话框的响应。非模态对话框即使弹出也能响应程序其它的窗体而不须要等到此窗体的关闭。那么MFC中怎么才干弹出模态对话框呢?事实上非常easy,首先创建这种一个窗体资源,然后给这个资源绑定一个自己的类,这个类要继承于其它的类。比方CDialog。在程序中的响应函数中,先定义这种一个类的对象dlg,然后调用dlg.doModal()便能够了。

关于模态对话框和主对话框之间的数据传递能够使用四种不同的方法实现:

1. 全局变量。这个方案尽管能够实现这种数据传递功能,可是没有体现出c++的面向对象的机制;

2. AfxGetMainWnd方法的使用;这个方案是通过获取主对话框的指针,然后利用这个指针获取主对话框上的对象的内容;

3. GetParent()函数的方法;这个方案能够获取父对话框的指针,然后通过这个指针进行对应的操作;

4. 成员变量和成员函数的方法;假设成员变量是私有的,那么我们须要定义成员函数才干对这种变量进行操作,可是为了方便,我们能够定义一个公有的指向主对话框的指针。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwsgw.html