各位大虾,在下遇到个问题如下:
请问俺如何才能改变某个Static控件中指定字符的颜色?
例如,俺创建了一个Static控件,Caption为“俺在CSDN获益匪浅!”,现在俺想把其中的"CSDN"置为红色,其他字符原样不变,俺该怎么做才行?不一定是Static控件,其他诸如EDIT、Button控件也可以。在下这里先行谢过!
请问俺如何才能改变某个Static控件中指定字符的颜色?
例如,俺创建了一个Static控件,Caption为“俺在CSDN获益匪浅!”,现在俺想把其中的"CSDN"置为红色,其他字符原样不变,俺该怎么做才行?不一定是Static控件,其他诸如EDIT、Button控件也可以。在下这里先行谢过!
然后SetTextColor
再SetWindowText 试试
SetTextColor()好像无法实现这个要求,因为一旦SetTextColor,该控件上的文字全都变成所设的颜色,而不能设置指定部分;至于重载自绘……能不能麻烦您稍微详细一点?谢谢了。
OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor == CTLCOLOR_STATIC)//CTLCOLOR_STATIC是Static控件的ID
{
pDC->SetTextColor(RGB(0,0,0));//改变字体颜色;
pDC->SetBkColor(RGB(0,255,0));//改变字体背景颜色;
HBRUSH hbrush=CreateSolidBrush(RGB(0,255,0));
return hbrush;
}
}------
其它依次类推..
但button 的不行要么自绘,要么使用BitMap