hur.cn - 华软网

 热门搜索

STatic控件如何实现2种不同的颜色?

  作者:未知    来源:网络    更新时间:2011/1/15
统一个STatic,想让它具有2种不同颜色或字体的字的功能。请问要如何实现?
应该是做一个子类,然则要重载父类的哪一个函数?
---华软 网友回答---
ON_WM_CTLCOLOR()
---华软网友回复---
你要实现怎样的效果?
---华软网友回复---
自己用DrawText直接输出文字,OnCtrlColor一个static内只可一种颜色
---华软网友回复---
比如一句话“请大家关注这项活动”  中间的关注用红色,其它的用黑色。在一个STATIC控件中。最好字的颜色能够随意设置。换一句话后,又能够重新设置。能够用2个变量,保存要转变颜色的字符起始位置。跟据这个位置来设定不同的颜色或字体
---华软网友回复---
那就WM_paint吧

CPaintDC dc(this); // device context for painting
COLORREF clr=dc.SetTextColor(clr1);
//写字
dc.SetTextColor(clr2);
//再写字
dc.SetTextColor(clr);

---华软网友回复---
CStatic控件中的WM_paint怎么用?
---华软网友回复---
引用 4 楼 wuweiyin 的回复:
比如一句话“请大家关注这项活动” 中间的关注用红色,其它的用黑色。在一个STATIC控件中。最好字的颜色能够随意设置。换一句话后,又能够重新设置。能够用2个变量,保存要转变颜色的字符起始位置。跟据这个位置来设定不同的颜色或字体

思量运用多个CStatic控件来做
---华软网友回复---
引用 6 楼 wuweiyin 的回复:
CStatic控件中的WM_paint怎么用?


就是OnPaint
---华软网友回复---
OnPaint放在子类中不起作用。
---华软网友回复---
用CButton来做应该能够的吧?
---华软网友回复---
用OnPaint能够实现2种不同的颜色,刚忘了将ON_WM_PAINT放在cpp资料中了。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。