我有一个SDI应用程序,可以创建几个无模式对话框。 这些对话框中的每一个都可以创建另一个名为CMyDialog的无模式对话框。 除了可以创建CMyDialog的许多实例(来自每个不同的原始对话框)之外,一切正常。
我想只有一个CMyDialog。
我一直在考虑解决这个问题的方法是创建一个bool标志b_CMyDialog,然后如果b_CMyDialog = false则只创建一个CMyDialog。 问题是我不知道把b_CMyDialog变量放在哪里,以及如何访问它。
有人可以帮忙吗?
谢谢 一个。
答案 0 :(得分:1)
MFC程序中的任何位置都可以调用AfxGetMainWnd()来获取指向主窗口的指针。所以你可以把bool变量放在那里,以便能够从任何地方访问它。
更好的是,你可以在那里创建一个创建CMyDialog的函数。
更好的是,您可以使用指向创建它时获得的CMyDialog的指针,而不是使用bool。只需确保在主窗口构造函数中以及对话框被销毁时为NULL指针。