Reflected Window Message IDs

A quick way to create an ActiveX control, or other specialized control, is to subclass a window. For more information, see MFC ActiveX Controls: Subclassing a Windows Control.

To prevent the control's container from receiving the window messages sent by a subclassed Windows control, COleControl creates a "reflector" window to intercept certain window messages and send them back to the control. The control, in its window procedure, can then process these reflected messages by taking actions appropriate for an ActiveX control.

The following table shows the messages that are intercepted and the corresponding messages that the reflector window sends.

Message sent by the control

Message reflected to the control

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

Note

If the control runs on a Win32 system, there are several types of WM_CTLCOLOR* messages it may receive. For more information, see WM_CTLCOLORBTN, WM_CTLCOLORDLG, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC.

See Also

Reference

TN062: Message Reflection for Windows Controls

Concepts

MFC ActiveX Controls: Subclassing a Windows Control