MFC 父子對話方塊互調成員變數

2021-06-21 17:04:02 字數 809 閱讀 8958

由於要用到非模態對話方塊做工具面板,需要子框呼叫父框的成員變數及成員函式,

先前使用過傳送訊息的方案,同期試用父指標方法沒有成功實現,

此次,成功實現了兩種指標方案,如下:

方案一:父框建立子框,並傳遞指標。

p_dlg_filter = new cdlg_filter;

p_dlg_filter->create(idd_dialog_midfilter,null);

p_dlg_filter->showwindow(sw_show);

p_dlg_filter->m_pmain = (void *)this;

首先,子框類中生命乙個void *m_pmain的公共變數,父框建立子框時,將該指標指向自己;

cvmat2d.copyto(((cdishdectdlg *)m_pmain)->cvmat2);

(cdishdectdlg *)m_pmain)->displaymat1();

然後,子框中使用該指標操作父框中的成員(成員變數cvmat2,成員函式displaymat1等)。

方案二:子框中直接建立指標繼承(?)父框。

cdishdectdlg *pfilter1 = (cdishdectdlg *)getparent();

pfilter1->cvmat1d.copyto(cvmat2d);

pfilter1->displaymat1();

直接宣告父框指標繼承父框,呼叫其成員變數及功能函式即可。

ps:文中:

cdishdectdlg---父框類名 

p_dlg_filter---父框中的子框類指標變數  

mfc 子對話方塊控制父對話方塊 MFC對話方塊構架程式

遺憾的是 從來沒有被堅定選擇過,就像是,他只是剛好需要,你只是剛好在。網易雲熱評 一 對話方塊架構分類 1 模式對話方塊,彈出來不能進行其他操作 2 無模式對話方塊,彈出來後可以進行其他操作 二 新建win32應用程式 模式對話方塊 1 建立 2 修改屬性 3 新增dialog資源 4 包含標頭檔案...

MFC 對話方塊

1 建立對話方塊模板,設定對話方塊屬性 cadditionddlg 主對話方塊類 顯示的主要介面 addition的資源樹 4個子項 dialog 對話方塊 含有2個對話方塊模板 id為idd aboutbox 關於對話方塊模板 idd addtion dlalog 主對話方塊模板 lcon 圖示 ...

MFC擴充套件對話方塊 即收縮對話方塊

mfc擴充套件對話方塊 即收縮對話方塊 效果圖如下,擴充套件前 上 擴充套件後 下 上下擴充套件 具體步驟如下 1.在.h檔案中新增如下 1private 2boolm shrink 標記是否收縮 3intm winheight 儲存對話方塊的高度 4intm shrinkheight 收縮後的對話...