如何在达到某一标砖时修改mfc中静态文本框和动态文本框的字体颜色 30

我想在系统某一变量达到标准值时改变静态文本框和动态文本框的字体颜色,不是在一开始就改变,比如inti=10;while(i--){if(i==3)改变颜色}我该怎么做,现... 我想在系统某一变量达到标准值时改变静态文本框和动态文本框的字体颜色,不是在一开始就改变,
比如
int i=10;
while(i--)
{
if(i==3)
改变颜色
}
我该怎么做,现在只能在对话框初始化的时候改变颜色
求解
最好能有代码,谢谢
展开
 我来答
归悦欣cf
2015-05-02 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1317万
展开全部
开始能改变则后面也应该可以的,把文本颜色变量设为一个可以全局访问对象,需要改变文本颜色时,改变文本颜色变量的值,然后刷新文本控件就可以.
更多追问追答
追问
改变颜色是在对话框在初始化的时候完成的,我测试的时候文字还会重影,后期改变颜色,实在想不到怎么解决,如果你有代码的话更好
追答
静态文本框颜色可以在对话框OnCtlColor消息函数里面修改.下面是把静态文本框文件该红色的代码:
HBRUSH CDlgLeft1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

if(nCtlColor==CTLCOLOR_STATIC)//CTLCOLOR_STATIC是要改变文字颜色静态文本框ID
{
pDC->SetBkMode(TRANSPARENT);//文字背景设为透明.
if(pWnd->GetDlgCtrlID( )==IDC_STATIC_R)
{
pDC->SetTextColor(RGB(255,0,0));//文字为红色
}
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式