2014-03-29 130 views
0

我有一個SDI應用程序,它創建了幾個無模式的對話框。 這些對話框中的每一個都可以創建另一個稱爲CMyDialog的無模式對話框。 除了可以創建CMyDialog的很多實例(來自每個不同的原始對話框)之外,所有的工作都很好。訪問變量?

我想只有一個CMyDialog。

我一直在想辦法解決這個問題的方法是創建一個bool標誌b_CMyDialog,然後只在b_CMyDialog = false時創建一個CMyDialog。 問題是我不知道在哪裏放置b_CMyDialog變量,以及如何訪問它。

有人可以幫忙嗎?

謝謝 a。

回答

1

MFC程序中的任何地方都可以調用AfxGetMainWnd()來獲取指向主窗口的指針。所以你可以把布爾變量放在那裏,以便能夠從任何地方訪問它。

更好的是,你可以在那裏放置一個創建CMyDialog的函數。

更好的是,不是使用bool,而是使用指向創建它時獲得的CMyDialog的指針。只要確保你在主窗口構造函數中的NULL指針以及每當對話被銷燬時。