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

学习c++的目的就是为了使用封装好的类,而最最经典的封装类当然是微软的MFC窗口程序类。学习MFC编程之前要学习c++的主要知识,掌握c++的基本编程思想。下面就看下我学习的MFC模态对话框的数据传递。

首先,什么叫做模态对话框呢?模态对话框指的是当弹出这样的对话框的时候,程序不能相应除了此对话框外其他的窗口的响应,直到关闭了这个对话框,程序才能响应其他的对话框的响应。非模态对话框即使弹出也能响应程序其他的窗口而不需要等到此窗口的关闭。那么MFC中怎么才能弹出模态对话框呢?其实很简单,首先创建这样的一个窗口资源,然后给这个资源绑定一个自己的类,这个类要继承于其他的类,比如CDialog。在程序中的响应函数中,先定义这样的一个类的对象dlg,然后调用dlg.doModal()便可以了。

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

1. 全局变量;这种方法虽然可以实现这样的数据传递功能,但是没有体现出c++的面向对象的机制;

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

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

4. 成员变量和成员函数的方法;如果成员变量是私有的,那么我们需要定义成员函数才能对这样的变量进行操作,但是为了方便,我们可以定义一个公有的指向主对话框的指针;



展开阅读全文

没有更多推荐了,返回首页