MFC 如何遍歷視窗控制項ID

2021-09-30 10:53:21 字數 768 閱讀 8237

對知識點的總結延遲了一天,昨天本應該完成的任務弄到今天才完成,心裡多少有些小疙瘩。

好了,言規正傳。

任務是:如何遍歷乙個窗體中所有控制項的id?

首先是對這裡談到的id的理解,這裡的id指的是resource.h中 #defineidc_button21002中的1002,如果你不對它自定義,系統會自動給你提供乙個相應的唯一的值。

它的作用是給窗體乙個唯一的標識,當我們要對該窗體做操作時必須用到它,像我們每個人都會有乙個名字,別人讓我去做什麼,首先得定位到我,即通過乙個標識,他一說這個

標識我就知道叫的是我,原理都是這樣,但方式可以不一樣。

該id的應用:視窗指標的初始化

例如:cbutton*  pbutton;

pbutton = (cbutton*)getdlgitem(idc_button2);

-pbutton20x00384da0

+[ctempwnd]

+cwnd           

請問這裡對應的每乙個位址該怎麼理解?

getdlgitem返回視窗中指定引數id的子元素的控制代碼,可以通過返回的控制代碼對視窗內的子元素進行操作。

void cctrllistdlg::ctrlid()

}這裡應用上了三個很重要的方法即:findwindow,getwindow和getdlgctrlid改天再對這些函式逐個分析。

MFC控制項 CLogWnd 日誌視窗控制項

版本 v1.0.0 功能 無需資源,直接從記憶體中生成乙個對話方塊視窗 clogwnd 並提供介面在對話方塊視窗 clogwnd 輸出log資訊,並提供介面將所有log資訊儲存到 log txt 檔案。窗體本身為半透明,不同等級的log,字型顏色不同,詳見 q a 附圖。注意 1.log輸出介面包括...

MFC 視窗指標 視窗控制代碼和視窗ID的相互轉換

接觸mfc一段時間了,發現在進行視窗操作時,最頻繁使用的就是指標 控制代碼和id的相互轉換了,總結了一套方法如下 假設對於同乙個視窗而言,其指標是pwnd,控制代碼是hwnd,id是nid,那麼三者相互轉換了方法如下 指標 控制代碼 hwnd pwnd getsafehwnd id 控制代碼 hwn...

MFC 視窗控制項隨視窗大小進行自適應

通常,我們在將視窗進行最大化時會出現視窗中的控制項自適應問題,如何讓視窗中的所有控制項跟隨視窗做自適應變化,提供如下操作方法供參考 第一步 在對話方塊類中 件 定義如下變數和函式 void resize point old afx msg void onsize uint ntype,int cx,...