對知識點的總結延遲了一天,昨天本應該完成的任務弄到今天才完成,心裡多少有些小疙瘩。
好了,言規正傳。
任務是:如何遍歷乙個窗體中所有控制項的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,...