您的当前位置:我要购书网>在线阅读>VC++/C#/C

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

来源:互联网  作者:我要购书网信息中心  发布:我要购物网收集整理  发布时间:2006-8-31 人气:228

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

通过处理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 ;

}

相关文章
· 如何获取本机所有mac地址
· 如何定义数据库表之间的关系
· 如何改变static控件的文字颜色
· 如何获得windows 操作系统的版本
· 如何得到网页中所有内嵌框架的ihtmldocument2..
· 如何使用sys用户remove其他用户的job
· 如何获取sql server数据库里表的占用容量大小
· 如何在mdi客户区窗口响应鼠标双击消息?
· 如何用c++编程获得某台机器的ip地址?
· 如何解决用access数据库建站维护不便的问题
热点文章
%>
· creating user controls
· 提高fastreplace速度 (fstrrep.pas)
· asc ii 完整码表及简介
· 自动生成拼音(汉字反查到拼音)
· sql2000无法安装的解决办法
· 浏览器集成教学 自定义浏览器
· vc++技术内幕(第四版)笔记(第7章)
· mysql5.0中文乱码解决方案
· sql server日期计算
· vc下利用ado连接access数据库
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址: 杭州市延安路111号清波商厦南楼D座(总部) 上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:books@51goushu.com  经营许可证编号:沪ICP备06038574号
版权所有 2003-2008 © All Rights Reserved .购书网