MFC - 从不同的对话框访问全局声明的对象

时间:2015-04-01 22:19:21

标签: mfc dialog

我有主对话框和主要按钮打开的一些小对话框。

我将ABC类的对象X声明为Main Dialog的成员。 我想从任何对话框中编辑(获取和设置值)对象X.

我该怎么办?我读到全局声明变量是不可能的(在MyApp.h中或在MyApp类中尝试过,但重定义时出现了链接器错误)

我的主要解决方案是添加到按钮:

CNewDialog newdialog;
newdialog.A=A;
newdialog.DoModal();
A=newdialog.A;

会起作用吗?或者还有其他解决方案吗?

另一方面,只有在关闭newdialog后,主对话框才会有明显的变化,我不想这样做。

2 个答案:

答案 0 :(得分:0)

我会使用 Singleton 模式设计的通用配置工具来解决您的任务。

答案 1 :(得分:0)

可以通过调用AfxGetMainWnd从任何地方访问主对话框对象。将返回的指针强制转换为指向主对话框类的指针。