MFC 里面一个Static Text,如何在static text上面绘指定颜色的矩形框并且不覆盖Static的文字? 5

如题,求教... 如题,求教 展开
 我来答
xz宏定义
2012-11-13 · TA获得超过1029个赞
知道小有建树答主
回答量:1621
采纳率:100%
帮助的人:220万
展开全部
你派生一个CSTATIC的类,在OnPaint()函数里面,
CBrush brush(RGB(0,128,192));
CBrush brushFrame(framecolor);//边框颜色,framecolor---为全局变量
dc.FillRect(&rect,&brush);
dc.FrameRect(&rect,&brushFrame);
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(255,255,255));
CFont * pOldFont;
pOldFont=SetCaptionFont(&dc);
dc.DrawText(strText,&rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
dc.SelectObject(pOldFont);
在定义一个framecolor(COLORREF color)
{
framecolor = color;
}
在改变颜色时:先调用framecolor
然后调用CSTATICEX::Invalidate();就可以了!
你试试可不可以!
wmalach
2012-11-13
知道答主
回答量:9
采纳率:0%
帮助的人:6.3万
展开全部
用CDC类或其子类CPaintDC 或CClientDC给控件着色。研究一下吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式