处理WM_CTLCOLOR消息

转载 2004年08月08日 13:29:00

COLORREF m_clrText;   //记录文本颜色
COLORREF m_clrBkgnd; //记录背景颜色
CBrush m_brBkgnd;  //用于绘制背景的刷子

m_clrText = RGB( 0, 0, 0 );
m_clrBkgnd = RGB(255, 255, 255);
m_brBkgnd.CreateSolidBrush(m_clrBkgnd);

HBRUSH CPlayWaveDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
 int nId;
 
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 
 switch (nCtlColor)
 {
 case CTLCOLOR_EDIT:
 case CTLCOLOR_STATIC: //CEdit为只读时相当于STATIC
  nId = pWnd->GetDlgCtrlID();
  if (nId == IDC_FILE)
  {
   pDC->SetTextColor(m_clrText);
   pDC->SetBkColor(m_clrBkgnd);
   hbr = m_brBkgnd;
  }
  break;
  
 default:
  break;
 }
 
 // TODO: Return a different brush if the default is not desired
 return hbr;
}

MFC/Windows_WM_CTLCOLOR消息

WM_CTLCOLOR消息用来完成对EDIT, STATIC, BUTTON等控件设置背景和字体颜色, 其用法如下: 1.首先在自己需要设置界面的对话框上点击右键-->建立类向导-->加入WM_...
  • u010003835
  • u010003835
  • 2015-08-20 09:19:24
  • 832

MFC 消息之WM_CTLCOLOR和OnCtlColor消息的使用方法总结

很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调,因此很多人往往找到很多其它的控件对对话框进行美化修饰,例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的...
  • CreatedSign
  • CreatedSign
  • 2014-02-08 13:43:49
  • 8307

WM_CTLCOLOR消息的用法。有关控件…

出自http://blog.chinaunix.net/uid-24585655-id-2125549.html HBRUSH CDialogColor::OnCtlColor(CDC* pDC,...
  • vipzjh
  • vipzjh
  • 2016-08-15 15:13:43
  • 1077

WM_CTLCOLOR消息重载

在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可以设置控件显示文本的前景色、背景色以及字体。该消息处理函数还要求返回一个画刷的句柄,用于在控件具体的绘...
  • xuanyuanlei1020
  • xuanyuanlei1020
  • 2016-09-26 14:14:32
  • 397

WM_CTLCOLOR在什么什么时候产生

WM_CTLCOLOR消息         在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可以设置控件显示文本的前景色、背景色以及字体。...
  • qq_17242957
  • qq_17242957
  • 2014-08-19 15:10:15
  • 614

MFC-WM_CTLCOLOR消息绘制控件颜色

如果想改变控件的颜色,希望每个控件的颜色都不一样,可以利用WM_CTLCOLOR消息来绘制各个控件的颜色例如:HBRUSH CMFCTESTDlg::OnCtlColor(CDC* pDC, CWnd...
  • qq_18297675
  • qq_18297675
  • 2016-04-03 13:14:29
  • 785

通过WM_CTLCOLOREDIT 控制EDIT控件外观

在建立一个对话框窗口之后通过拦截WM_CTLCOLOREDIT返回用CreatePatternBrush建立的画刷.之后EDIT控件画刷就会用该画刷中所加载的图片平铺整个控件所在区域.当然需要把wPa...
  • houzh
  • houzh
  • 2008-02-25 19:51:00
  • 2499

WM_CTLCOLOR消息

      WM_CTLCOLOR消息                 在每个控件开始绘制之前,都会向其父窗口发送WM_CTLCOLOR通告消息,在该消息的处理函数中,可...
  • u014023993
  • u014023993
  • 2014-04-13 16:26:58
  • 393

MFC的消息反射及其应用技巧

在Windows中有一个改变控件颜色的消息WM_CTLCOLOR,该消息通常由父类窗口(一般是对话框,也可是框架窗口)接收并处理,其响应函数(通常加在CDialog派生类中)为:afx_msg HBR...
  • emesjx
  • emesjx
  • 2010-11-25 17:25:00
  • 1355

一些WM消息与其相应WPARAM,LPARAM的定义

以下内容首发在我的百度空间:http://hi.baidu.com/legend_sss 1. WM_PAINT,WM_SIZE:     LOWORD(lParam)是客户区的宽     ...
  • warc_k
  • warc_k
  • 2014-03-22 22:26:18
  • 1114
收藏助手
不良信息举报
您举报文章:处理WM_CTLCOLOR消息
举报原因:
原因补充:

(最多只允许输入30个字)