對(duì)于在資源文件中加入的控件, 只能在對(duì)話框的WM_INITDIALOG中通過(guò) hChildWnd=GetDlgItem(hDlg, ID_xxx); SetWindowLong(hChildWnd, GWL_USERDATA, (LONG)pData); 加入額外的數(shù)據(jù)。
如果是自己手工創(chuàng)建的控件,創(chuàng)建時(shí)就可傳入必要的數(shù)據(jù),通過(guò)超類化在WM_CREATE中將數(shù)據(jù)保存。 ===================================== 這樣一來(lái),對(duì)話框里的子窗口控制將仍然無(wú)法獲得WM_CREATE消息, 因?yàn)槲蚁胍某惖拇翱谶^(guò)程是個(gè)通用的,通過(guò)額外的參數(shù)來(lái)辨識(shí)是哪個(gè)窗口對(duì)象, 從而把消息先交該窗口對(duì)象處理,再調(diào)用原系統(tǒng)窗口過(guò)程,這樣就更 hChildWnd=GetDlgItem(hDlg, ID_xxx); SetWindowLong(hChildWnd, GWL_USERDATA, (LONG)pData);的時(shí)候已經(jīng)錯(cuò)過(guò)了WM_CREATE消息
|