MFC小筆記 TabCtrl父子視窗傳遞訊息

2021-10-01 15:29:21 字數 692 閱讀 3251

mfc介面有乙個設定對話方塊,實際使用tabctrl+子對話方塊的形式。在子對話方塊中設定引數時,需要將結果反饋至父視窗下方。這樣統一資訊輸出。本文解決問題:如何在子視窗中,獲取父視窗控制代碼,並在父視窗static控制項輸出資訊。

對話方塊介面,主視窗為一tabctrl,下方為一static控制項。過程省略。

在子對話方塊標頭檔案宣告視窗指標:

cwnd* m_ptabparentwnd; // tab父類視窗指標,注:m_pparentwnd在父類中已有定義,故改名
在子對話方塊的oninitdialog函式中獲取父視窗指標:

m_ptabparentwnd = getparent()->getparent();
注意,需要呼叫兩次getparent()函式,子對話方塊的父視窗,實際是tabctrl,tabctrl的父視窗,才是主介面視窗。(不過行文隱藏了一層,直接以父視窗稱呼)

m_ptabparentwnd即為父視窗指標,在相應響應函式中,通過父視窗指標,呼叫getdlgitem即可得到控制項,再呼叫setwindowtextw即可輸出資訊。如:

m_ptabparentwnd->getdlgitem(idc_stc_set_tips)->setwindowtextw(l"引數設定成功");
其它子對話方塊進行同樣處理即可。

MFC小筆記 開機自動啟動

本文實現mfc程式的開機自動啟動功能。開機自動啟動,可以通過登錄檔實現。在run節點下,新建乙個字段,包括程式名稱 完整的路徑。如果要取消自動啟動,則刪除該欄位即可。如下 int setautorun bool nenable strcpy s lppath,const char spath.get...

MFC小筆記 控制項隨視窗變化

當視窗大小變化時,如最大化 最小化時,控制項位置和大小並沒有變化,本文實現此功能。主介面為對話方塊,有最小化 最大化 關閉等功能。當視窗變化時,響應 onsize 函式,並計算各控制項位置,按比例縮放。在對話方塊類嚮導中新增 wm size 訊息。其函式定義如下 afx msg void onsiz...

MFC 關機小軟體

windows下的關機函式是exitwindowex,函式原型為 bool winapi exitwindow in uint uflags,in dword dwreason 功能上有 關閉系統 登出使用者 鎖定工作站 3中操作。在windows nt核心的作業系統中,程序需要擁有se shutd...