mfc subclasswindow attach setwindowlong使用區別
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
1、
CWnd::Attach
BOOL Attach( HWND hWndNew );
返回值:如果成功,則返回非零值;否則返回0。
參數: hWndNew 指定了Windows窗口的句柄。
說明:將一個Windows窗口與CWnd對象相連接。
CWnd::SubclassWindow
BOOL SubclassWindow( HWND hWnd );
返回值:如果函數成功,則返回非零值;否則返回0。
參數: hWnd 窗口句柄。
說明:
調用這個成員函數以動態子類化一個窗口,并將它與這個CWnd對象相連接。當窗口被動態子類化時,窗口消息將通過CWnd的消息映射,并首先調用CWnd類中的消息處理函數。發送給基類的消息將被傳遞給窗口的缺省消息處理函數。
這個成員函數將Windows控件與CWnd對象連接起來,并替換窗口的WndProc和AfxWndProc函數。這個函數在CWnd對象中保存舊的WndProc的指針。
SetWindowLong 修改窗口的屬性.
2、
SubClassWindow、SubClassDlgItem這兩個約等于,類似包裝,方便使用
DDX會調用SubClassWindow,SubClassWindow會調用Attach
最終的目的是綁定控件和你的衍生類
我最常用的當然是DDX,系統自己搞定,自己不寫代碼
然后是SubClassWindow/Attach,視情況調用Unsub/Untach
SubClassDlgItem更少用
一般用在Oninitdialog
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成