2014-03-29 47 views
0

我有一个SDI应用程序,它创建了几个无模式的对话框。 这些对话框中的每一个都可以创建另一个称为CMyDialog的无模式对话框。 除了可以创建CMyDialog的很多实例(来自每个不同的原始对话框)之外,所有的工作都很好。访问变量?

我想只有一个CMyDialog。

我一直在想办法解决这个问题的方法是创建一个bool标志b_CMyDialog,然后只在b_CMyDialog = false时创建一个CMyDialog。 问题是我不知道在哪里放置b_CMyDialog变量,以及如何访问它。

有人可以帮忙吗?

谢谢 a。

回答

1

MFC程序中的任何地方都可以调用AfxGetMainWnd()来获取指向主窗口的指针。所以你可以把布尔变量放在那里,以便能够从任何地方访问它。

更好的是,你可以在那里放置一个创建CMyDialog的函数。

更好的是,不是使用bool,而是使用指向创建它时获得的CMyDialog的指针。只要确保你在主窗口构造函数中的NULL指针以及每当对话被销毁时。