画刷实现文本着色 程序在一个矩形区域显示了文本,现在鼠标左键单击给文本着色,我用画刷来填充,它将整个矩形区域全刷了,把文本覆盖了。怎么实现文本着色,高亮啊? pDC->SetBkMode(TRANSPARENT); 用这个吗?好象不行哦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 矩形区域是picture空间吧?创建一个类,在它的OnPaint里先绘制背景,再输出文字。可以定义个COLORREF 变量来制定文字的颜色,当鼠标单击时,改变该变量的值,然后刷新控件即可。void CMyPic::OnPaint(){ CPaintDC dc(this); CBrush white; white.CreateSolidBrush(RGB(255,255,255)); CBrush * pOldb =dc.SelectObject(&white); dc.Rectangle(); dc.SetBkMode(TRANSPARENT); dc.SetTextColor(myColor);//myColor为上面提到的COLORREF变量 dc.TextOut(0,0,"test");}CMyPic myPic;此句包含在头文件中void CMyDLg::OnLDown()//左键按下消息响应{ myPic.myColor = RGB(255,0,0); myPic.Invalidate();} 其实就是先把原来的涂掉再重新用别的颜色画而已,楼上说的够详细的了在dc.TextOut(0,0,"test"); 之后加上:white.DeleteObject();pOldb->DeleteObject();否则会有内存泄漏的。 请问大家下坐标问题 编辑框(edit)如何单击选中一行 草.10分的郁闷~~~~~不文明了~~~~~~~~~ 求256灰度图像将其变为4灰度图像的算法 一个很菜的关于CEdit编辑框的问题: 关于_ConnectionPtr是否在正常连接? 我有一个奇怪的问题。我用计算机可不可以用手机的t9输入法??/ 一个有关Office、Automation、VBA的技术怪问题,真的很难!喜欢挑战的人方可进来! 高手必看的问题 谁遇到过这样难办的问题problem 用API 建立 子窗口学习。 MPC单文档工程中菜单如何自动关联响应函数
{
CPaintDC dc(this);
CBrush white;
white.CreateSolidBrush(RGB(255,255,255));
CBrush * pOldb =dc.SelectObject(&white);
dc.Rectangle();
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(myColor);//myColor为上面提到的COLORREF变量
dc.TextOut(0,0,"test");
}
CMyPic myPic;此句包含在头文件中
void CMyDLg::OnLDown()//左键按下消息响应
{
myPic.myColor = RGB(255,0,0);
myPic.Invalidate();
}
pOldb->DeleteObject();否则会有内存泄漏的。