2015-04-01 81 views
0

我有我的主對話框和一些次要的對話框,由Main中的按鈕打開。MFC - 從不同對話框訪問全局聲明的對象

我得到類ABC的對象X聲明爲主對話框的成員。 我想從任何對話框編輯(獲取和設置值)對象X.

我該怎麼辦?我讀了它不可能在全球範圍內聲明變量(tryed它MyApp.h,或MyApp的類但與重定義鏈接錯誤)

是來到我的主,唯一的解決辦法是添加到按鈕:

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

它會工作嗎?或者還有其他解決方案嗎?

另一方面,只有在關閉newdialog之後,主對話框纔會有可見的變化,我不想這樣做。

+0

只要全局聲明其他'A',代碼應該工作 - 上面給出的代碼放在哪裏? – 2015-04-02 06:36:32

回答

0

我會用常用配置工具設計使用單身人士模式來解決你的任務。

+2

什麼是**通用配置工具**? – 2015-04-02 06:45:06

+0

這基本上是您的應用程序配置存儲。該工具通常實現加載/保存(序列化),參數和屬性的獲取/設置以及其他配置相關功能。 – 2015-04-02 08:48:43

+0

CCF定義了什麼框架? – rrirower 2015-04-02 13:15:57

0

可以通過調用AfxGetMainWnd從任何地方訪問主對話框對象。將返回的指針轉換爲指向主對話框類的指針。