MFC学习之修改设置控件字体显示和颜色参数

news2024/12/28 19:19:53

前言

在这里插入图片描述

最近一直配合研发部门写一些调试类的小软件,记得之前电脑显示器和显卡配置都不高,显示分辨率比较低,软件界面上的文字还能看到清楚(不显小)。

现在公司新配置的电脑都比较好了,界面字体,尤其是一些显示实时状态的数值或者下位机设备状态值,需要突出显示,就需要调整控件显示字体大小和颜色了。

真的难搞…

有没有批量设置的办法,知道的小伙伴可以在下方一起讨论下,我们一起学习学习(本人开发经验比较少)。

MFC 控件介绍

MFC控件是MFC类库中的一部分,提供了各种可视化界面元素,用于构建用户界面。以下是一些常见的MFC控件及其功能和属性设置:

1、CButton(按钮):用于触发特定操作或执行选定动作的控件。可以设置文本、图像、样式等。
2、CEdit(编辑框):用于接收和显示文本输入的控件。可以设置文本内容、大小、样式、限制输入等。
3、CListCtrl(列表控件):用于以列表形式展示数据的控件。支持单列或多列数据,可以设置每列的数据类型、宽度、排序等。
4、CComboBox(组合框):结合了下拉列表框和编辑框的控件。允许用户从预定义的选项中选择或自行输入内容。
5、CListBox(列表框):用于显示一个或多个项目的列表的控件。支持单选或多选模式,并提供项目的添加、删除、选中等功能。
6、CScrollBar(滚动条):用于在一个可滚动范围内选择值的控件。提供水平和垂直两种滚动方式。
7、CSliderCtrl(滑块控件):用于在一个值范围内选择数值的控件。可以设置最小值、最大值、滑块位置等。
8、CStatic(静态文本控件):用于显示静态文本内容的控件。通常用于标签、说明或状态展示等。
9、CProgressCtrl(进度条控件):用于显示操作进度的控件,可以反映操作的完成百分比。
10、CDateTimeCtrl(日期时间控件):用于选择和编辑日期和时间的控件。支持日期、时间格式、区域设置等属性。
11、CRichEditCtrl(富文本编辑框):用于编辑和显示格式化文本的控件。支持字体样式、颜色、图像插入等。
12、CTreeView(树视图控件):用于以树形结构展示层次关系的控件。支持节点的选中、展开/折叠、拖放等操作。

部分控件修改颜色和字体示例代码

下面是一些常见控件的字体和颜色设置的代码示例:

修改按钮(CButton)的字体和颜色:

// 获取按钮控件对象
Button* pButton = (CButton*)GetDlgItem(IDC_BUTTON1);

// 创建字体对象
CFont font;
font.CreatePointFont(12, _T("Arial"));

// 设置字体
pButton->SetFont(&font);

// 设置文本颜色
pButton->SetTextColor(RGB(255, 0, 0)); // 设置为红色

修改编辑框(CEdit)的字体和颜色:

// 获取编辑框控件对象
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);

// 创建字体对象
CFont font;
font.CreatePointFont(10, _T("Verdana"));

// 设置字体
pEdit->SetFont(&font);

// 设置背景颜色和文本颜色
pEdit->SetBackgroundColor(FALSE, RGB(192, 192,192)); // 设置背景为灰色
pEdit->SetTextColor(RGB(0, 0, 255)); // 设置本为蓝色

修改列表控件(CListCtrl)的字体和颜色:

// 获取列表控件对象
CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);

// 创建字体对象
CFont font;
font.CreatePointFont(8, _T("Tahoma"));

// 设置字体
pListCtrl->SetFont(&font);

// 设置文本颜色
pListCtrl->SetTextColor(RGB(0, 128, 0)); // 设置为绿色

// 设置背景颜色
pListCtrl->SetBkColor(RGB(255, 255, 0)); // 设置为黄色

修改静态文本控件(CStatic)的字体和颜色:

// 获取静态文本控件对象
CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC1);

// 创建字体对象
CFont font;
font.CreatePointFont(14, _T("Courier New"));

// 设置字体
pStatic->SetFont(&font);

// 设置文本颜色
pStatic->SetTextColor(RGB(255, 0, 0)); // 设置为红

修改组合框(CComboBox)的字体和颜色:

// 获取组合框件对象
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1);

// 创建字体对象
CFont font;
font.CreatePointFont(12, _T("Arial"));

// 设置字体
pComboBox->SetFont(&font);

// 设置文本颜色
pComboBox->SetTextColor(RGB(255, 0, 0)); // 设置为红色

// 设置背景颜色
pComboBox->SetBkColor(RGB(192, 192, 192)); // 设置为灰色

修改滚动条(CScrollBar)的字体和颜色:

// 获取滚动条控件对象
CScrollBar* pScrollBar (CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);

// 创建字体对象
CFont font;
font.CreatePointFont(10, _T("Verdana"));

// 设置字体
pScrollBar->SetFont(&font);

// 设置滑块颜色
pScrollBar->SetScrollColors(RGB(0, 0, 0), RGB(255, 0, 0)); // 设置滑块为黑色,背景为红色

修改进度条(CProgressCtrl)的字和颜色:

// 获取进度条控件对象
CProgressCtrl* pProgressCtrl = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);

// 创建字体对象
CFont font;
font.CreatePointFont(10, _T("Verdana"));

// 设置字体
pProgressCtrl->SetFont(&font);

// 设置前景颜色(进度条颜色)
pProgressCtrl->SetBarColor(RGB(0, 255, )); // 设置为绿色

// 设置背颜色
pProgressCtrl->SetBkColor(RGB(255, 0,0)); // 设置为红色

修改日期时间控件(CDateTime)的字体和颜色:

// 获取日期时间控件对象
CDateTimeCtrl* pDateTimeCtrl =CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1);

// 创建字体对象
C font;
font.CreatePointFont(10, _T("Arial"));

// 设置字体
pDateTimeCtrl->SetFont(&font);

// 设置文本颜色
pDateTimeCtrl->SetMonthColor(MCSC_TEXT, RGB0, 0, 255)); // 设置日历为蓝色

// 设置背景颜色
pDateTimeCtrl->SetMonthCalColor(MCSC_BACKGROUND, RGB(192, 192, 192)); // 设置日历背景为灰色

最后

以上就是今天分享的内容了,希望对看到的小伙伴有帮助,另外对文章中有没有办法实现批量修改的讨论,可以积极发言,我们一起学习进步哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【高性能计算】监督学习之支持向量机分类实验

【高性能计算】监督学习之支持向量机分类实验 实验目的实验内容实验步骤1、支持向量机算法1.1 支持向量机算法的基本思想1.2 支持向量机算法的分类过程1.3 支持向量机算法的模型构建过程 2、使用Python语言编写支持向量机的源程序代码并分析其分类原理2.1 支持向量机SVM模型代码…

四、卷积神经网络整体基础结构

一、计算机发展应用 神经网络主要用于特征提取 卷积神经网络主要应用在图像领域,解决传统神经网络出现的过拟合、权重太多等风险 1,CV领域的发展 Computer vision计算机视觉的发展在2012年出现的AlexNet开始之后得到了挽救 之前都是一些传统的机器学习…

SQL高级语句2

SQL高级语句2 SQL高级语句17.---- 连接查询 ----18.自我连接,算排名:19.---- CREATE VIEW ----视图,可以被当作是虚拟表或存储查询。20.---- UNION ----联集,将两个SQL语句的结果合并起来,两个SQL语句所产生的字段需要…

重新定义DevOps:容器化的变革力量

在快速发展的数字时代,DevOps 已成为重塑软件开发格局的重要范例。DevOps 是一个源自“开发”和“运营”的术语,它将这两个历史上孤立的功能集成到一个统一的方法中,专注于缩短软件开发生命周期。因此,DevOps 实践促进了更快、更可…

【产品应用】一体化电机在拉伸吹瓶机的应用

随着塑料瓶的广泛应用,拉伸吹瓶机作为生产塑料瓶的关键设备之一,受到了越来越多企业的关注。而在拉伸吹瓶机中,一体化电机的应用正逐渐成为行业的新趋势。 01.设备简介 吹瓶机是一种用于制造塑料瓶的机械设备。它通过将预先加热的塑料颗粒或…

当 MQTT 遇上 ChatGPT:探索可自然交互的物联网智能应用

前言 随着物联网技术的迅猛发展,人与设备、设备与设备之间的互动已变得不再困难,而如何更加自然、高效、智能地实现交互则成为物联网领域新的挑战。 近期,由 OpenAI 发布的 ChatGPT、GPT-3.5 和 GPT-4 等先进大语言模型(LLM&…

python 基础知识:使用jieba库对文本进行分词

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 一、jieba库是什么? Python的jieba库是一个中文分词工具,它可以将一段中文文本分割成一个一个的词语,方便后续的自然语言处理任务,如文本分类、情感分析等。 jieba库使用…

Riddztecia 作品集 |Beast Wear 出品

Beast & Wear:一个以彩色部落和可训练野兽庆祝多样性的收藏品。通过 NFT 野兽和装备提升你的 Riddzee 人物化身,增强视觉效果,提升你在迷人的 Riddztecia 世界中的游戏体验。去游戏、去成长、去探索。 Riddztecia NFT 空投包括训练怪兽和…

leetcode216. 组合总和 III(回溯算法-java)

组合总和 III leetcode216. 组合总和 III题目描述解题思路代码演示 回溯算法专题 leetcode216. 组合总和 III 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/combination-sum-iii 题目描述 找出所有相加之和为 n 的 k 个…

JMeter 批量接口测试

一、背景 最近在进行某中台的接口测试准备,发现接口数量非常多,有6、70个,而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值。想了几种方案后,决定尝试使用JMeter的csv读取来实现批量的接口…

Linux修改权限chown和chmod指令

一、 chmod指令修改文件权限 -rw-rw-r-- 1 zcb zcb 1135 Jun 9 14:56 test.c drwx------ 2 root root 4096 Apr 7 16:50 testemmc/ 上面两个文件,第一个字符-和d,分别表示二进制文件,目录,后面9个分别表示 u:拥有者…

【CV 向】了解 OpenCV 中的算术与位运算

文章目录 引言1. 利用 NumPy 创建图像2. 算术运算2.1 加法与减法2.2 乘法与除法 3. 位运算3.1 与运算3.2 或运算3.3 异或运算3.4 非运算 结论 引言 Python OpenCV 是一个功能强大的计算机视觉库,用于图像处理和计算机视觉任务。在 OpenCV 中,我们可以使…

【Python脚本】Python自动大麦网抢票,准点原价秒杀演唱会门票,拒绝黄牛交易!从我做起!!!1

文章目录 前言一、分析购票过程二、Selenium 模拟浏览器操作三、逆向工程:抢票接口总结 前言 你是否错过了周杰伦的票,最近又没抢到五月天的票,不要太难过,今晚有张学友的票,后天还有张杰的票,加油哦&…

openvpn搭建访问路由器摄像头

openvpn搭建 技术博客 http://idea.coderyj.com/ 1.环境 华为云服务器 操作系统 centos7 2.安装部署 1.安装 openvpn 和 easy-rsa(该包用来制作 ca 证书) # 安装 epel 源 yum install epel-release -y# 安装 yum install openvpn easy-rsa2、配置 /e…

如何全面评价一个低代码平台?

🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步…

Goby 漏洞发布|WordPress Extensive VC Addons 插件 options[template] 文件包含漏洞

漏洞名称:WordPress Extensive VC Addons 插件 options[template] 文件包含漏洞 English Name:WordPress Plugin Extensive VC Addons File Inclusion Vulnerability CVSS core: 9.8 影响资产数:2583 漏洞描述: Extensive VC…

Netty核心技术七--Google Protobuf

1.编码和解码的基本介绍 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和encoder(编码器)。encoder 负责把…

【干货】Android系统定制基础篇:第十六部分(双屏异触、定时开关机与看门狗)

一、Android双屏异触-指定触摸为副屏触摸 在双屏异显产品中,有时候主副屏都带有触摸屏,并且要求主副屏触摸各自操作互不干扰。 Android 现有框架中已经支持副输入设备的逻辑,只是默认将所有的外部热插拔设备统一指定为副输入设备&#xff0…

XILINX 7系列FPGA封装之芯片常见封装技术详解

🏡《Xilinx FPGA开发指南》 目录 1,概述2,常用封装技术2.1,Wire-bond chip-scale2.2,Wire-bond fine-pitch2.3,Flip-chip lidless2.4,Ruggedized flip-chip2.5, Flip-chip fine-pitc…

【算法设计与分析】期末复习

文章目录 复习大纲第一章算法概述1.1算法与程序1.2 算法复杂性分析 第二章递归与分治策略分治法的基本思想递归与分治的关系:用分治法解决的问题的几个特征:例题: 第三章动态规划动态规划的基本思想:分治与动态规划算法的异同&…