如何改变STATIC控件的文字颜色

原创 2006年06月07日 16:56:00

通过处理WM_CTLCOLORSTATIC消息,必需注意以下几点:

1、  MFC没有使用WM_CTLCOLORSTATIC消息,而是使用WM_CTLCOLOR消息;

2、 必须返回一个背景刷子,即使你不改变背景颜色;如果STATIC的背景色要与父窗口背景色相同,可以用GetStockObject(NULL_BRUSH) 返回空画刷;

3、 返回的画刷颜色并不是文字的颜色,如果要改变文字颜色,可以调用SetTextColor

4、 不要每次处理都创建一个刷子,应该用一个成员变量来保存刷子(全局变量也可),并要释放它,如果是由GetStockObject返回的刷子,就不用那么麻烦;

 

下面是用WTL写的示例:

LRESULT OnCtlColorStatic( HDC hdc , HWND hwnd )

       {

           // 只处理特定的STATIC

              if( hwnd == GetDlgItem( IDC_STATIC1 ) )

              {

                     ::SetTextColor( hdc , RGB(255,0,0) );

                     ::SetBkMode( hdc , TRANSPARENT ) ;

                     return (LRESULT)GetStockObject( NULL_BRUSH ) ;

              }

              SetMsgHandled(FALSE);

              return 0 ;

       }

 

修改Static控件的字体颜色

首先在窗体上添加WM_CTLCOLOR消息,这时就会有一个OnCtlColor消息响应函数。下面是我的OnCtlColor函数里的代码HBRUSH CMyMailDlg::OnCtlColor(CDC...
  • SysProgram
  • SysProgram
  • 2011年07月04日 11:00
  • 3870

如何改变STATIC控件的文字颜色

//将状态显示设置为红色 LRESULTXXXX::OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)...
  • zhousunmuhua
  • zhousunmuhua
  • 2014年06月25日 14:37
  • 460

MFC中设置static text控件的背景色、字体、字号和颜色

在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的 字体、字体大小、字体颜色和背景色。 例如对话框的类为CTestDlg. ...
  • gll028
  • gll028
  • 2013年01月12日 14:09
  • 2152

Win32设置修改STATIC控件字体、颜色

#include "stdafx.h"#define IDC_FILTER_STATIC 1001HINSTANCE g_hInstance;LRESULT CALLBACK WindowProc(H...
  • pdsleo
  • pdsleo
  • 2017年08月24日 15:02
  • 376

修改static控件背景颜色和文字颜色

当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息。如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄,...
  • softn
  • softn
  • 2016年06月20日 06:41
  • 1941

MFC中修改控件的文字和颜色

具体参考:http://blog.sina.com.cn/s/blog_45781b620100db9c.html http://blog.sina.com.cn/s/blog_45781b6201...
  • Kelvin_Yan
  • Kelvin_Yan
  • 2016年04月21日 15:52
  • 831

在程序中动态改变static text控件的caption值

方法1,给STATIC控件取个名字叫IDC_STATICTITLE 然后在ClassWizard中设定一个控件变量给它叫m_statictitle 然后用m_statictitle.SetWindow...
  • VicoLee
  • VicoLee
  • 2010年05月02日 21:19
  • 3191

设置static控件背景颜色、控件字体的背景颜色和控件字体的颜色

注:转载至:https://my.oschina.net/u/241930/blog/528285,谢谢该博主的分享 #include LRESULT CALLBACK Wn...
  • stf1065716904
  • stf1065716904
  • 2017年06月23日 20:39
  • 314

mfc中设置statictext的字体和颜色

字体在控制事件中实现,颜色在OnCtlColor中实现。 界面上两个button,一个statictext。 设置statictext的value变量为m_csText; 其余变量为: ...
  • langxm2006
  • langxm2006
  • 2017年08月05日 23:48
  • 434

更改static字体大小和颜色

1. 改变CStatic字体大小
  • phenixyf
  • phenixyf
  • 2014年08月01日 15:13
  • 5411
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何改变STATIC控件的文字颜色
举报原因:
原因补充:

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