2个回答
展开全部
你派生一个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();就可以了!
你试试可不可以!
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();就可以了!
你试试可不可以!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询