MFC如何设置对话框静态文字背景以及文字颜色

我只要改变这个对话框,而不是所有的对话框,所以只能在这个对话框类的函数里下手啊。新手拜托各位大侠了。。

先给该对话框生成一个ON_WM_CTLCOLOR()的消息映射,并定义一个CBrush m_brush;

在该对话框的OnInitDialog()函数里写上m_brush.CreateSolidBrush(RGB(0, 255, 255));

然后在该对话框的OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)函数里写上

if (nCtlColor == CTLCOLOR_STATIC)

{

pDC->SetBkMode(TRANSPARENT);// 此句使静态本文透明

pDC->SetTextColor(RGB(255,0,0));//此句设置文字颜色

return (HBRUSH)(m_brush.GetSafeHandle());

}


注:OnCtlColor()函数是在生成了ON_WM_CTLCOLOR()消息映射后自动生成的函数;

       颜色RGB值0-255自己可改


背景RGB值(0,255,255),文字RGB值(255,0,0),效果如图:

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-04
改变文字的颜色要使用OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)消息 WM_CTLCOLOR,给对话框加消息映射if (pWnd->GetDlgCtrlID()==IDC_STATIC3)pDC->SetTextColor(RGB(255,0,0))背景色用SetBkColor
第2个回答  2013-04-07
使用GetDlgItem,得到控件之后,修改属性就OK了
第3个回答  推荐于2017-11-28
很简单。。对大家有用的赞个啊。。。。
1,新建基于对话框的mfc程序。
添加一个static标签控件,ID为:IDC_STATIC_DEMO
在CXXXDlg类中添加一个类型为CBrush的成员变量m_brs;
m_brs.CreateSolidBrush(RGB(0,0,55));//需要程序使用的背景画刷

并且在CXXXDlg的构造函数中添加一行代码
在CXXXDlg中添加WM_CTLCOLOR消息处理函数
然后在OnCtlColor中写下面的代码:
if(IDC_STATIC_DEMO==pWnd->GetDlgCtrlID())//判断正在绘制的是不是我们需要改变的控件
{
pDC->SetBkMode(TRANSPARENT);//设置透明输出
pDC->SetTextColor(RGB(255,0,0));//设置文字颜色
return m_brs;//用自定义的画刷去绘制背景
}
这样。。。就OK了。。
亲,给点分吧,这年头,不容易啊。。。别忘了哦。。。

PS:如果要该按钮的,需要添加DrawItem这个虚函数去搞定。。。。本回答被网友采纳

在MFC中怎样修改对话框背景和静态文本颜色的设置
可以在该函数中设置pDC->SetBkMode(TRANSPARENT);将文本的背景设置为透明。可以在该函数中设置pDC->SetTextColor(RGB(255,0,0));将文本的颜色设置为红色。也可以指定某一静态文本的字体颜色,可以加如下判断:switch(pWnd->GetDlgCtrlID()){ case IDC_INFO:pDC->SetBkMode(TRANSPARENT);pDC->SetTextCol...

MFC如何设置对话框静态文字背景以及文字颜色
几年很久没用MFC了,刚才特意去看了一下我以前写过的项目~~具体方法很简单:在CStatic面的处理WM_CTLCOLOR消息,在里面调用pDC->SetTextColor(Color),color为你想设置的颜色

mfcstatic控件设置字体高亮
该软件设置字体高亮方法如下:1、打开对话框类:首先,在Microsoft Visual Studio中打开包含静态文本控件的对话框类。2、添加消息处理函数:然后,为ON_WM_CTLCOLOR消息添加一个处理函数。可在类视图中右键点击对话框类,选择添加、类向导,然后在出现的对话框中选择消息,找到WM_CTLCOLOR并添加处理函数。3...

怎么更改mfc静态控件的文字和颜色?
2、Button是一种自绘制控件,在自绘制之前就会调用一个虚函数CButton;;DrawItem(),因此,要想改变Button的背景及字体,就要定义一个Button类从CButton派生出来,并且覆盖DrawItem(),则当要绘制这个按钮的时候,框架就会调用这个函数。来改变Button的背景颜色和字体,此外,还要设置控件的ownerdraw属性.

MFC对话框的编辑框里的文字怎样改颜色?
文本颜色和文本字体以及文本编辑框的背景色可以在父类的OnCtlColor中设置 HBRUSH CMFCDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if (pWnd->GetDlgCtrlID() == IDC_MYEDIT){ pDC->SetTextColor(RGB(0,0,255)); \/...

MFC如何才能改变指定编辑框内字体的颜色呢?
普通的对话框也可以了)添加一个OnCtlColor的消息响应函数(WM_CTLCOLOR),然后写入以下代码:if(nCtlColor==CTLCOLOR_EDIT){ pDC->SetTextColor(RGB(255,0,0)); \/\/这个是设置字体颜色。pDC->SetBkColor(RGB(255,2550,0)); \/\/这个设置背景色 } 需要调用相关的函数的。。

MFC怎么改变编辑对话框中字体颜色??
1、改变对话框的底色在对话框的类中添加一个 private : CBrush m_brush;在类的构造函数中添加如下代码:m_brush.CreateSolidBrush(RGB(0,0,255)); \/\/初始化为蓝色为对话框添加一个WM_CTLCOLOR消息响应函数,专门为控件着色的消息响应函数,代码如下:HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, ...

MFC怎么为不同的对话框设置不同的背景
MFC设置背景,采用添加Bitmap的方法,首先把你想要设置为背景的图片转换成bmp格式,然后再引入到工程里面,再在每个对话框中添加控件,再选择。具体见图:1、首先在工程添加bitmap,右击工程名,添加。2、右击bitmap,选择引入。3、在下面的弹出的窗口中,选择文件类型,再找到你的bmp文件 4、引入成功后...

MFC静态文本控件怎么设置字体
静态文本控件static设置字体有两种方式:直接鼠标右键点击静态文本控件框,在弹出的属性里面font项进行更改;调用MFC函数进行更改。调用函数更改字体步骤及代码如下:首先通过GetDlgCtrlID获取静态文本控件ID;调用CFont类中的函数createpointfont创建字体;将所创建的字体加入设备描述表。if(pWnd->GetDlgCtrlID()==...

请教MFC静态文本背景设置为透明
首先,你要区分文本框和静态文本框,这是两种不同的控件,透明方法完全不同!静态文本框的默认背景是灰色,也就是对话框的“底色”。只有文本框(编辑框)的默认背景为白色。如果是静态文本框,那么控件属性里设置选中TRANSPARENT,你上面的代码就可以了。如果是编辑框,那么需要改变刷子hbr 为空画刷。但...

相似回答