在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text控件的
字体、字体大小、字体颜色和背景色。
例如对话框的类为CTestDlg.
1. 在对话框的类中添加两个变量.
方法:在classview选项卡中,选择CTestDlg,右键,add member variable.
CBrush m_brush;
CFont m_font;
<wbr></wbr>
在OnInitDialog()函数中添加:
// TODO: ……
m_font.CreatePointFont(150,"华文行楷");//代表15号字体,华文行楷
m_brush.CreateSolidBrush(RGB(0,255,0));//画刷为绿色
<wbr></wbr>
2 添加WM_CTLCOLOR 消息响应,添加的方法为:
add windows message handler->WM_CTLCOLOR->add and edit
<wbr></wbr>
<wbr></wbr>
3 在HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 函数中的todo后添加代码,即:
,
HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
<wbr><span style="font-size:18px">// TODO: Change any attributes of the DC here<br></span><wbr><span style="font-size:18px">if (pWnd->GetDlgCtrlID() == IDC_STATICText)<br></span><wbr><span style="font-size:18px">{</span></wbr></wbr></wbr>
<wbr><span style="font-size:18px">pDC->SetBkColor(RGB(0,255,0));//背景色为绿色<br></span><wbr><wbr><span style="font-size:18px">pDC->SetTextColor(RGB(255, 0, 0));//文字为红色<br></span><wbr><wbr><span style="font-size:18px">pDC->SelectObject(&m_font);//文字为15号字体,华文行楷<br></span><wbr><span style="font-size:18px">return m_brush;<br></span><wbr><span style="font-size:18px">}</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><span style="font-size:18px">// TODO: Return a different brush if the default is not desired<br></span><wbr><span style="font-size:18px">return hbr;</span></wbr></wbr>
}
<wbr><wbr><p><wbr></wbr></p>
<p><span style="font-size:18px">这样就可以改变static text的背景色、字体、字体大小和字体颜色了。</span></p>
</wbr></wbr>
分享到:
相关推荐
通过点击“颜色选择”按钮,动态设置static和edit控件的字体和背景颜色,适合有一定MFC编程基础的人。
mfc Static text点击事件,我想在Static Text控件上,如果有点击(就是拿手指点)的话,可以触发一些行为
修改MFC中Button控件控件字体、字体大小、背景色、背景图片,主要方法采用需要通过button类派生Mybutton类,然后重载其中DrawItem函数
mfc本身的static控件背景为灰色,影响整体效果。这个是自绘的Static控件,可改背景颜色字体等
MFC实现STATIC TEXT控件的鼠标事件解决方案 MFC实现STATIC TEXT控件的鼠标事件 MFC实现STATIC TEXT的鼠标事件解决方案 MFC实现STATIC TEXT的鼠标事 MFC实现STATIC TEXT控件的鼠标事件解决方案 MFC实现STATIC TEXT...
改变MFC对话框背景色、控件内的字体颜色和背景色 设置 Dialog, Group Box, Static Text, Check Box, Edit Ctrl(disabled), Combo Box(disabled), Radio Button等背景色 编写WM_CTLCOLOR消息的映射函数OnCtlColor(CDC...
mfc 中列表控件头的设置(背景颜色,字体大小等) 以前的是有内存泄露的. 这里的修改了一下.. 没有内存泄露
用Static Text控件显示当前时间 用Static Text控件显示当前时间 用Static Text控件显示当前时间 用Static Text控件显示当前时间
VC MFC CEDIT派生类 控件背景色 字体修改 并能自动控制显示行数
MFC设置对话框的背景颜色和设置控件的字体颜色或背景颜色代码
可以直接创建对象,进行设置。非常方便 能满足平常需要
窗体及控件背景色窗体及控件背景色窗体及控件背景色窗体及控件背景色窗体及控件背景色窗体及控件背景色
VC中为CListBox控件加背景色,字体颜色的例子;对CListBox进行继承重载!
【最新】MFC, CListCtrl、CHeaderCtrl , 设置CListCtrl, 每一部分的字体、颜色和背景
设置CButton控件的字体颜色和背景颜色
自定义了一个改变按钮颜色的事件,当然也有自己的单击事件,基于项目的要求做的,想到可能有需要的朋友就上传了
(1)文本、文本背景、控件背景的颜色,支持3种状态(正常时、鼠标在上、鼠标按下)下不同颜色的设定,具体实现使用了掩码机制,形如SetXXXColor名称的函数接口,每种函数对不同状态下颜色的设定是很灵活的。...
MFC 改变静态文本字体、改变静态文本背景颜色的实现步骤及其代码
【最新】 MFC 修改ComboBox的样式,下拉列表的背景色 + 按钮样式,工程使用的是VS2017
MFC中的多种字体设置方法的程序,包括四种不同的方法。