反映視窗訊息 ID
一種較快建立 ActiveX 控制項或其他特殊控制項的方法是子類別化一個視窗。 如需詳細資訊,請參閱 MFC ActiveX 控制項:子類別化 Windows 控制項 。
為了防止控制項的容器接收子類別化 Windows 控制項所傳送的視窗訊息, COleControl 會建立「反映器」視窗來攔截特定視窗訊息,並將其傳回控制項。 控制項 (在其視窗程序中) 接著可以針對 ActiveX 控制項採取適當的動作,然後再處理這些反映訊息。
下表顯示攔截的訊息和反映程式視窗傳送的對應訊息。
由控制項傳送的訊息 | 反映至控制項的訊息 |
---|---|
WM_COMMAND | OCM_COMMAND |
WM_CTLCOLORBTN | OCM_CTLCOLORBTN |
WM_CTLCOLOREDIT | OCM_CTLCOLOREDIT |
WM_CTLCOLORDLG | OCM_CTLCOLORDLG |
WM_CTLCOLORLISTBOX | OCM_CTLCOLORLISTBOX |
WM_CTLCOLORSCROLLBAR | OCM_CTLCOLORSCROLLBAR |
WM_CTLCOLORSTATIC | OCM_CTLCOLORSTATIC |
WM_DRAWITEM | OCM_DRAWITEM |
WM_MEASUREITEM | OCM_MEASUREITEM |
WM_DELETEITEM | OCM_DELETEITEM |
WM_VKEYTOITEM | OCM_VKEYTOITEM |
WM_CHARTOITEM | OCM_CHARTOITEM |
WM_COMPAREITEM | OCM_COMPAREITEM |
WM_HSCROLL | OCM_HSCROLL |
WM_VSCROLL | OCM_VSCROLL |
WM_PARENTNOTIFY | OCM_PARENTNOTIFY |
WM_NOTIFY | OCM_NOTIFY |
注意
如果控制項在 Win32 系統上執行,可能會收到數種類型的WM_CTLCOLOR* 訊息。 如需詳細資訊,請參閱 WM_CTLCOLORBTN、WM_CTLCOLORDLG、WM_CTLCOLOREDIT、WM_CTLCOLORLISTBOX、WM_CTLCOLORMSGBOX、WM_CTLCOLORSCROLLBAR、WM_CTLCOLORSTATIC。