INFO: WM_CTLCOLORxxx Message Changes

ID: Q130952

The information in this article applies to:

SUMMARY

In previous versions of Windows, an application could change the background, text, and/or text background colors of controls by performing certain actions in response to WM_CTLCOLORxxx messages.

However, in Windows 95 and later, and Windows NT 4.0, the messages sent by different types of controls are somewhat different.

MORE INFORMATION

The following list outlines the changes in WM_CTLCOLORxxx messages sent by standard controls in Windows 95:

WM_CTLCOLORBTN

Sent By: command buttons (regular and default)

Changes made during this message have no effect on command buttons. Command buttons always use system colors for drawing themselves.

WM_CTLCOLORSTATIC

Sent By: Any control that displays text which would be displayed using the default dialog/window background color. This includes check boxes, radio buttons, group boxes, static text, read-only or disabled edit controls, and disabled combo boxes (all styles).

The changes affect the text drawn in the control. Changes do not affect the checkmarks on the buttons or the outline of the group box.

WM_CTLCOLOREDIT

Sent By: Enabled, non-read-only edit controls and enabled combo boxes (all styles)

The changes affect the background, text, and text background of these controls. For combo boxes, the changes made in this message affect only the "edit" portion of the control. The list portion is affected by the WM_CTLCOLORLISTBOX message.

In previous versions of Windows, radio buttons, check boxes and group boxes would send WM_CTLCOLORBTN messages and paint themselves accordingly. In Windows 95, these controls send WM_CTLCOLORSTATIC messages instead.

These changes were implemented to make changing the appearance of controls more logical (text on the dialog background is now classified as "static").

Additional query words:

Keywords          : kbNTOS kbGrpUser kbWinOS kbWndw kbWndwMsg 
Issue type        : kbinfo

Last Reviewed: December 26, 1998