CWnd::OnCtlColor

来源:互联网 发布:unity3d官方案例 编辑:程序博客网 时间:2024/05/17 07:05

 afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );

Return Value

OnCtlColor返回用于绘制控件背景的画刷句柄.

Parameters

pDC

子窗口的设备环境指针,可能是临时的.

pWnd

控件窗口指针,可能是临时的.

nCtlColor

指定控件类型:

  • CTLCOLOR_BTN   按钮控件
  • CTLCOLOR_DLG   对话框
  • CTLCOLOR_EDIT   编辑控件
  • CTLCOLOR_LISTBOX   列表框控件
  • CTLCOLOR_MSGBOX   消息框
  • CTLCOLOR_SCROLLBAR   滚动条控件
  • CTLCOLOR_STATIC   静态控件

解说:

当子窗口将被绘制时framework调用此成员函数。大多数控件向父窗口发送此消息来为绘制控件准备pDC.

要改变文本颜色,用SetTextColor

要改变单行编辑控件的背景颜色,

switch (nCtlColor)
  {
  
// process my edit controls by ID.

  case CTLCOLOR_EDIT:
  
case
 CTLCOLOR_MSGBOX:
...
}

再使用CDC::SetBkColor.

OnCtlColor不可为组合框的下拉列表改变颜色。因为此处的下拉列表是组合框的子窗口,你应该去CComboBox里重载OnCtlColor.

原创粉丝点击