WM_CTLCOLORBTN (Compact 2013)

3/28/2014

This message is sent to the parent window of a button when the button is about to be drawn. By responding to this message, the parent window can set a button's text and background colors.

Syntax

WM_CTLCOLORBTN hdcButton = (HDC) wParam; 
    hwndButton = (HWND) lParam;

Parameters

  • hdcButton
    Handle to the display context for the button.
  • hwndButton
    Handle to the button.

Return Value

If an application processes this message, it must return a handle to a brush. The system uses the brush to paint the background of the button.

  • Default Action
    The DefWindowProc function selects the default system colors for the button.

Remarks

The system does not automatically destroy the returned brush. It is the application's responsibility to destroy the brush when it is no longer needed.

The WM_CTLCOLORBTN message is never sent between threads. It is sent only within one thread.

The text color of a check box or radio button applies to the box or button, its check mark, and the text. The focus rectangle for these buttons remains the system default color (typically black). The text color of a group box applies to the text but not to the line that defines the box. The text color of a push button applies only to its focus rectangle; it does not affect the color of the text.

If a dialog box procedure handles this message, it should cast the desired return value to a BOOL and return the value directly. If the dialog box procedure returns FALSE, then default message handling is performed. The DWL_MSGRESULT value set by the SetWindowLong function is ignored.

Requirements

Header

winuser.h

See Also

Reference

Button Messages
DefWindowProc
RealizePalette
SelectPalette
SetWindowLong
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC