2009-09-17 39 views

回答

3

典型的MFC應用程序將具有Document-View-Frame架構。數據存儲在Document對象中,並全局訪問。你可以通過AfxGetMainWnd()來訪問它。

AfxGetApp()還會爲您提供一個指向您的主應用程序的指針,如果您不使用Document View架構,這是另一個存儲數據的好地方。如果有大量數據,則可以構造一個類來保存數據,然後將實例作爲成員變量添加到項目中的CWinApp。

另一個選項,我不建議,但我已經看到,將對話框本身作爲CWinApp中的成員變量,然後每個對話框都可以引用其他對話框。基本上,用戶點擊「確定」,但對話框消失,但不會被刪除。這意味着他們輸入的所有數據仍可通過對話框變量訪問。

1

有很多方法可以在對話框之間共享數據。您可能需要更具體地瞭解您的需求。

  1. 將其存儲在全局變量中。
  2. 將其保存在thread local storage(TLS)中。
  3. 讓一個對話框通過SendMessage()PostMessage()發送窗口消息。

事情從這裏變得更加複雜。

相關問題