当按钮即将被绘制时,WM_CTLCOLORBTN消息被发送到按钮的父窗口。通过响应此消息,父窗口可以设置按钮的文本和背景颜色。
WM_CTLCOLORBTN
hdcButton = (HDC) wParam; //按钮显示上下文的句柄
hwndButton = (HWND) lParam; //按钮的句柄
参数
【Identifies the display context for the button.】
价值【wParam中】.标识按钮的显示上下文。
【Identifies the button.】
价值【lParam的】.标识按钮。
返回值
如果一个应用程序处理这个消息,它必须返回一个画笔的句柄。Windows使用画笔来绘制按钮的背景。
默认动作
DefWindowProc功能可以选择按钮的默认系统颜色。
备注
线程之间永远不会发送WM_CTLCOLORBTN消息。它只在一个线程内发送。
复选框或单选按钮的文本颜色适用于框或按钮,其复选标记和文本。这些按钮的焦点矩形保持系统默认颜色(通常为黑色)。组框的文本颜色适用于文本,但不适用于定义框的行。按钮的文本颜色仅适用于其焦点矩形;它不影响文本的颜色。
也可以看看
DefWindowProc, RealizePalette, SelectPalette, WM_CTLCOLORDLG, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC