MFC开发IM-第五篇、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);// 关联控件和变量
}
MFC开发IM-第五篇、MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法相关推荐
- VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...
在MFC的Dialog工程中生成一个CStatic的自定义类,类名例如为:CColorStatic 定义必要的变量: protected:COLORREF m_crText; // 字体颜色COLOR ...
- 如何在Visual Studio中调整代码字体的大小和颜色
1. 找到并点击[设置]按钮 2. 点击[选项] 3. 在[环境]中找到[字体和颜色],然后就可以自己调整了.
- MFC开发IM-第十五篇、打包的MFC程序别人无法启动的原因
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义. ...
- AD16原理图.schdot中批量修改标签中的文本字体、大小、颜色
1)使用鼠标左键区域选中需要修改的文本,或按住shift键使用鼠标左键选择分布在图中各处的需要修改的文本 2)按住shift键,鼠标左键双击选中的任一文本,弹出如下的SCH Inspector弹窗 3 ...
- WPF中GDI+图形图像的绘制:(一)绘制文本——动态设置字体、大小、颜色
GDI+(Graphics Device Interface Plus图形设备接口加)是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息.GDI+不但在功能上比GDI 要强大很多 ...
- Pycharm设置开发模板/字体大小/背景颜色 - Python零基础入门教程
目录 一.Pycharm 设置字体大小/风格 二.Pycharm 设置背景颜色 三.Pycharm 设置开发模板 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 > ...
- html自动切换body背景,html中怎么用body元素设置背景颜色
html中怎么用body元素设置背景颜色 发布时间:2020-06-22 15:17:45 来源:亿速云 阅读:137 作者:Leah 这篇文章运用简单易懂的例子给大家介绍html中怎么用body元素 ...
- python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...
python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...
- js点击按钮改变字体大小并给他颜色_如何在Elementor中修改文本的字体、大小、颜色、样式...
本文将介绍Elementor网页编辑器中如何修改文本的字体.大小.颜色和样式. 原文首发于:https://loyseo.com/how-to-change-font-size-color-famil ...
最新文章
- LL(1)预测分析表的构造
- shell脚本中使用top命令查看cpu或内存情况的技巧
- 如何构建一个成功的AI PoC(概念验证项目)
- [翻译] C# 3.0语言规范 收藏
- MongoDB常用语句
- 2009从知到行知识管理培训公开课最后一期
- 法拉第未来获得2.25亿美元债权及信托融资
- linux PHY驱动
- MyBatis学习(七)
- 麦吉尔学和ubc计算机专业,申请多伦多、UBC和麦吉尔三所大学建筑专业的作品集要求...
- 用python花猫_Python竟能画这么漂亮的花,帅呆了(代码分享)
- eclipse中import existing projects into workspace和open projects from file systems分别有什么用?
- IT各个层次角色与职责
- 10198_基于SSM的电影票预订系统
- 《Python编程 从入门到实践》第八章 ——函数习题
- C++哈希查找算法简单实现
- 小学数学开灯问题_三道简单的小学二年级的数学题,一遍过全对的还不到一半...
- 图片合并成PDF,两个PDF的合并
- 做音视频开发要掌握哪些知识?
- php h2数据库,H2数据库使用
热门文章
- HttpInvoker-----客户端实现
- String常见问题
- Android嵌入式安卓触摸屏|4418开发板平台
- leetcode - Minimum Depth of Binary Tree
- net2.0中使用Cookie保存中文出现乱码的解决方法
- 一步一步安装SQL Server 2008(附截图)
- java 基础知识面试题(持续更新),java基础面试笔试题
- 如果有人再问你 Java 的反射,把这篇文章扔给他
- SpringBoot整合Mybatis,并实现事务控制
- (转) shiro权限框架详解06-shiro与web项目整合(上)