如何实现模态对话框

 我来答
蘑菇饭资讯
2014-12-01 · TA获得超过6万个赞
知道大有可为答主
回答量:1.7万
采纳率:90%
帮助的人:1.2亿
展开全部
你这就是用错误的方法解决问题,微软定义了模态和非模态那就应该按照他的思路来,如果你因要用非模态来实现模态这个从根本上是不行的,模拟或许可以但是肯定很不完整。

在MFC中,如果你需要保存模态对话框的数据和什么局部不局部的变量一点关系都没有,你这么做就可以了。先声明一个结构体,在你对话框类的头文件里写就行了,里面包括你所有要保存的数据:
typedef struct
{
int a;
double b;
CString c;
} Data;

然后你修改你的模态对话框的类,增加一个该结构体的指针,构造函数变成如下的样子
class CMyDialog:
{
public:
CMyDialog(Data* pData);
//...
protected:
Data* m_pData;
...
};

在CPP文件把构造函数实现的参数改成和声明一样,然后将指针m_pData初始化
m_pData = pData;

你可以在父窗口或者框架声明一个Data的结构体变量
Data m_data;
然后在要显示模态对话框的地方
CMyDialog dlg(&m_data);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式