Delphi sends messages for notification of events that are only applicable to Delphi components. They are like Windows messages in use. If you have a component that publishes the Font property the component probably needs to be repainted if any subproperties in the Font are changed. Changing the Font property does not necessarily generate a Windows event but the control still needs to know about the change. Component messages serve this purpose.
This is a complete listing of the component messages and what they do. They are all defined in the controls.pas unit. This is a list of Delphi 5 component messages. The messages marked Notification Only do not pass any useful information to the message handler and do not expect the message handler to return a value. The messages on which I could not find information about I marked with a question mark “?”.
If you have any information about component messages and they are not listed here let me know, so as I can update this table. m3rlin@delphifaq.net
| CM_ACTIONEXECUTE | ? |
| Unknown | |
| CM_ACTIONUPDATE | ? |
| Unknown | |
| CM_ACTIVATE | Notification Only |
| Sent to a form when it becomes the active form. | |
| CM_ALLCHILDRENFLIPPED | ? |
| Sent to a component when the Flip Children|All command in the IDE is executed. | |
| CM_APPKEYDOWN | ? |
| Unknown. | |
| CM_APPSYSCOMMAND | ? |
| Unknown. | |
| CM_BIDIMODECHANGED | Notification Only |
| Sent to a component when it’s BiDiMode property changes. | |
| CM_BORDERCHANGED | Notification Only |
| Sent to a component when it’s Border property changes. | |
| CM_BUTTONPRESSED | ? |
| Unknown. | |
| CM_CHANGED | ? |
| Parameters: TCMCHANGED | Return Value: ?. |
| Unknown. | |
| CM_CHILDKEY | ? |
| Unknown. | |
| CM_CONTROLCHANGE | ? |
| Unknown. | |
| CM_CONTROLLISTCHANGE | ? |
| Parameters: TCMCONTROLCHANGE | Return Value: ?. |
| Unknown. | |
| CM_CTL3DCHANGED | Notification Only |
| Sent to a component when it’s CTL3D property changes. | |
| CM_CURSORCHANGED | Notification Only |
| Sent to a component when it’s Cursor property changes. | |
| CM_DEACTIVATE | Notification Only |
| Sent to a form when it becomes inactive. | |
| CM_DESIGNHITTEST | |
| Parameters: TCMDESIGNHITTEST | Return Value: either 0 or 1. |
| This message is sent in design mode when the mouse is over the control. It appears that the purpose of the message is to determine if the control wants to process mouse messages while in design mode. If the return value is 1 then Delphi lets the control process mouse messages. If it is 0 then the Delphi handles the messages. If a control sets this message to 1 all the time then the popup menu will never appear. If the control does not handle this message or returns 0 all the time then the control cannot response to mouse messages in design mode. |
|
| CM_DIALOGHANDLE | ? |
| Unknown. | |
| CM_DIALOGCHAR | ? |
| Unknown. | |
| CM_DIALOGKEY | ? |
| Unknown. | |
| CM_DOCKCLIENT | ? |
| Parameters: TCMDOCKCLIENT | Return Value: ?. |
| Unknown. | |
| CM_DOCKNOTIFICATION | ? |
| Parameters: TCMDOCKNOTIFICATION | Return Value: ?. |
| Unknown. | |
| CM_DOCWINDOWACTIVATE | ? |
| Unknown. | |
| CM_DRAG | ? |
| Parameters: TCMDRAG | Return Value: ?. |
| Sent to a component when it’s being dragged. | |
| CM_ENABLEDCHANGED | NO |
| Sent to a component when it recieves a WM_ENABLE message. | |
| CM_ENTER | ? |
| Unknown. | |
| CM_EXIT | ? |
| Unknown. | |
| CM_FLOAT | ? |
| Parameters: TCMFLOAT | Return Value: ?. |
| Unknown. | |
| CM_FOCUSCHANGED | ? |
| Parameters: TCMFOCUSCHANGED | Return Value: ?. |
| Unknown. | |
| CM_FONTCHANGED | Notification Only |
| Sent to a component when the it’s Font property changes. | |
| CM_FONTCHANGE | Notification Only |
| Sent to a component when it receives a WM_FONTCHANGE message. | |
| CM_GETDATALINK | ? |
| Unknown. | |
| CM_GOTFOCUS | Notification Only |
| Sent to a component when it receives a WM_SETFOCUS message. | |
| CM_HINTSHOW | Notification Only |
| Sent to a component when it’s hint is shown. | |
| CM_HINTSHOWPAUSE | ? |
| Unknown. | |
| CM_ICONCHANGED | ? |
| Unknown. | |
| CM_INVALIDATE | Notification Only |
| Sent to a control when it needs to be repainted. | |
| CM_INVOKEHELP | ? |
| Unknown. | |
| CM_ISTOOLCONTROL | ? |
| Unknown. | |
| CM_LOSTFOCUS | Notification Only |
| Sent to a component when it receives a WM_KILLFOCUS message. | |
| CM_MENUCHANGED | ? |
| Unknown. | |
| CM_MOUSEENTER | Notification Only |
| Sent to a component when the mouse enters the component’s area and it recieves a WM_MOUSEHOVER message. | |
| CM_MOUSELEAVE | Notification Only |
| Sent to a component when the mouse leaves the component’s area and it recieves a WM_MOUSELEAVE message. | |
| CM_MOUSEWHEEL | Notification Only |
| Parameters: TCMMOUSEWHEEL | Return Value: ?. |
| Sent to a component when it recieves a WM_MOUSEWHEEL message. | |
| CM_PARENTBIDIMODECHANGED | Notification Only |
| Sent to all child components when a parent’s (not Owner’s) BiDiMode property changes. This message is also send when the control is gets a new parent. | |
| CM_PARENTCTL3DCHANGED | Notification Only |
| Sent to all child components when a parent (not Owner) receives a CM_CTL3DCHANGED message. This message is also send when the control is gets a new parent. | |
| CM_PARENTCOLORCHANGED | Notification Only |
| Sent to a component when it’s ParentColor property changes. This message is also sent when the component is read from a stream or gets a new parent. | |
| CM_PARENTFONTCHANGED | Notification Only |
| Sent to all child components when a parent (not Owner) receives a CM_FONTCHANGED message. This message is also send when the control is read from a stream or gets a new parent. | |
| CM_PARENTSHOWHINTCHANGED | Notification Only |
| Sent to a component when it’s ParentShowHint property changes. This message is also sent when the componentis read from a stream or gets a new parent. | |
| CM_RECREATEWND | ? |
| Unknown. | |
| CM_RELEASE | ? |
| Unknown. | |
| CM_SHOWHINTCHANGED | Notification Only |
| Sent to a component when it’s ShowHint property changes. | |
| CM_SHOWINGCHANGED | ? |
| Unknown. | |
| CM_SYSCOLORCHANGE | Notification Only |
| Sent to a component when it recieves a WM_SYSCOLORCHANGE message. | |
| CM_SYSFONTCHANGE | Notification Only |
| Sent to a component when it recieves a WM_SYSFONTCHANGE message. | |
| CM_TABSTOPCHANGED | ? |
| Sent to a comonentn when it’s TabStop property changes. | |
| CM_TEXTCHANGED | Notification Only |
| Unknown. | |
| CM_TIMECHANGE | Notification Only |
| Sent to a component when it receives a WM_TIMECHANGE message. | |
| CM_UIACTIVATE | ? |
| Unknown. | |
| CM_UIDEACTIVATE | ? |
| Unknown. | |
| CM_UNDOCKCLIENT | ? |
| Parameters: TCMUNDOCKCLIENT | Return value: ?. |
| Unknown. | |
| CM_CM_VISIBLECHANGED | Notification Only |
| Sent to a control when it’s Visible property changes. | |
| CM_WANTSPECIALKEY | Result value: Cardinal |
| Sent to a component when a special keys is being handled. These special keys are VK_TAB, VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_RETURN, VK_EXECUTE, VK_ESCAPE and VK_CANCEL. To receive keystroke messages for these keys you have to handle the CM_WANTSPECIALKEY messages. The CM_WANTSPECIALKEY allows a much better way of deciding if you require a special key than responding to the WM_GETDLGCODE messages. If the message result is non zero then the key is passed onto the KeyPress method for you to handle, otherwise it is passed onto the controls parent form for Delphi’s standard navigation handling. The Delphi standard navigation is where Delphi handles the Tab, Shift-Tab and arrow key motion between controls, without needing to use the default Windows dialog manager at all. |
|
| CM_WINDOWHOOK | ? |
| Unknown. | |
| CM_WININICHANGE | Notification Only |
| Parameters: WM_WININICHANGE | Return Value: None. |
| Sent to a component when it receives a WM_SETTINGCHANGE or WM_WININICHANGE message. | |
Tags: about, ani, application, better, change, commands, component, components, control, controls, cursor, default, define, designing, determine, dialog, enter, execute, executed, execution, find, font, form, forms, generate, get, id, ide, ides, key, keystroke, keystrokes, list, menu, messages, navigate, news, parameter, parameters, process, property, read, return, set, tab, time, use, value, window, windows
Merlin’s Delphi Forge
Leave a comment