VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...
在MFC的Dialog工程中生成一个CStatic的自定义类,类名例如为:CColorStatic
定义必要的变量:
protected:COLORREF m_crText; // 字体颜色COLORREF m_crBackColor; // 背景颜色HBRUSH m_hBrush; // 画刷LOGFONT m_lf; // 字体大小CFont m_font; // 字体bool m_bTran; // 是否透明
重载CColorStatic类中的=WM_CTLCOLOR事件,注意有=的,不是WM_CTLCOLOR事件
HBRUSH CColorStatic::CtlColor(CDC* pDC, UINT nCtlColor)
{// TODO: 在此更改 DC 的任何属性// TODO: 如果不应调用父级的处理程序,则返回非 null 画笔if (CTLCOLOR_STATIC == nCtlColor){pDC->SelectObject(&m_font);pDC->SetTextColor(m_crText);pDC->SetBkColor(m_crBackColor);if (m_bTran == true)pDC->SetBkMode(TRANSPARENT);}return m_hBrush;
另外添加一些接口类函数
void CColorStatic::SetTextColor( COLORREF crText )
{m_crText = crText;RedrawWindow();
}void CColorStatic::SetFontSize(int nSize)
{nSize *= -1;m_lf.lfHeight = nSize;m_font.DeleteObject();m_font.CreateFontIndirect(&m_lf);RedrawWindow();
}void CColorStatic::SetBackColor(COLORREF crBackColor)
{m_crBackColor = crBackColor;RedrawWindow();
}void CColorStatic::SetTransparent(bool bTran)
{m_bTran = bTran;RedrawWindow();
}
至此CColorStatic类就建好了。
记得添加CColorStatic的头文件。
菜单栏中添加一个菜单项,并为其关联成员变量m_static1,然后添加事件处理程序。编辑代码如下:
void CLXTDlg::OnStatic32790()
{
// TODO: 在此添加命令处理程序代码
m_static1.SetTransparent(FALSE);
m_static1.SetTextColor(RGB(0,255,255));
m_static1.SetBackColor(RGB(0,255,0));
m_static1.SetFontSize(15);
}
在给静态文本控件关联变量时,我在类向导中找不到其ID,然后把其ID从IDC_STATIC改为IDC_STATIC1,就出现在了类向导里。
其实也可不用类向导,自己手动关联。
手动为控件关联成员变量的方法:
例如:为ID = IDC_STATIC1的静态文本控件关联成员变量
1. 在.h中声明:
CColorStatic m_static1; // 声明变量,注意这里的 CColorStatic是上面自定义的类哦。
2. 在.cpp中进行关联:
void CLXTDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_STATIC1, m_static1);// 关联控件和变量
}
转载于:https://www.cnblogs.com/lxt287994374/archive/2013/03/06/2945545.html
VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...相关推荐
- MFC开发IM-第五篇、MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法
在MFC的Dialog工程中生成一个CStatic的自定义类,类名例如为:CColorStatic 定义必要的变量: protected:COLORREF m_crText; // 字体颜色COLOR ...
- 如何在Visual Studio中调整代码字体的大小和颜色
1. 找到并点击[设置]按钮 2. 点击[选项] 3. 在[环境]中找到[字体和颜色],然后就可以自己调整了.
- AD16原理图.schdot中批量修改标签中的文本字体、大小、颜色
1)使用鼠标左键区域选中需要修改的文本,或按住shift键使用鼠标左键选择分布在图中各处的需要修改的文本 2)按住shift键,鼠标左键双击选中的任一文本,弹出如下的SCH Inspector弹窗 3 ...
- js点击按钮改变字体大小并给他颜色_如何在Elementor中修改文本的字体、大小、颜色、样式...
本文将介绍Elementor网页编辑器中如何修改文本的字体.大小.颜色和样式. 原文首发于:https://loyseo.com/how-to-change-font-size-color-famil ...
- MFC中改变按钮颜色的方法
本文参考学习 https://blog.csdn.net/zxccaoya/article/details/54142523 而来. 这里介绍mfc 中改变按钮颜色的最简单方法. 使用CMFCButt ...
- WPF中GDI+图形图像的绘制:(一)绘制文本——动态设置字体、大小、颜色
GDI+(Graphics Device Interface Plus图形设备接口加)是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息.GDI+不但在功能上比GDI 要强大很多 ...
- 修改ToolBar的标题、子标题字体大小和颜色,toolbar menu字体的大小和颜色以及注意事项
在 Android 5.0 开始推出一个 Material Design 风格的导航Toolbar 控件.由于Toolbar的可定制度高,所以已经逐步替代掉了ActionBar.可以自定义以下几种元素 ...
- CSDN-Mardown-改变文本的字体、大小、颜色、背景色、对齐
CSDN-Mardown-改变文本的字体.大小.颜色.背景色.对齐 1.改变文本字体 代码举例: <font face="宋体">这是宋体</font> & ...
- 改变Android的hello world程序字体颜色和背景颜色
1.使用Color类的常量,如: int color = Color.BLUE; // 创建一个蓝色 是使用Android提供的颜色 2.通过ARGB构建,如: int color = Color.a ...
最新文章
- html与html5论文区别,HTML、XML、XHTML和HTML5的异同
- Windows Azure虚拟机概览
- 可视化之Earth NullSchool
- 机器学习 vs. 深度学习
- 程序员如何写简历?来自硅谷的八条建议
- python 反传播_岗位 | 滴滴急招反欺诈数据分析实习生(可转正)!字节跳动+德勤实习生项目热招中...
- android preferenceActivity的用法
- mediamind SyncAds
- iPhone13系列预计5499起;蔚来回应31岁企业家“自动驾驶”车祸去世;小米取消MIX4防丢失模式无卡联网服务|极客头条...
- 网络干货,无论是运维还是开发都要知道的网络知识系列之(八)
- JSON.stringify(value[, replacer [, space]])
- 传奇中添加NPC及功能脚本
- mysql查询周数_MySQL如何获取一个指定日期所对应本年度的周数(WEEK函数)呢?
- 【小程序】小程序多次扫描不同二维码参数不生效问题
- smbus电池信息读取
- 销售易CRM怎么样?
- [含文档+源码等]微信小程序校园生活小助手+后台管理系统前后分离VUE[包运行成功]
- 转载一篇不错的文章:谈谈“野生”Java程序员学习的道路
- PS压缩1寸照片大小降低到50KB以下的方法
- shell空文件夹查找