MFC 控件字体样式和颜色设置

MFC 设置CListBox各行的字体、样式、颜色、行间距,并自动显示隐藏水平滚动条 派生修改CLIstBox实现对各行内容字体、样式、大小、颜色的分别设置,并实现水平滚动条自动显示隐藏的功能。 阅读详情

    因为默认的字体大小比较小,且有时为了美观,MFC控件的字体样式更改有时显得比较重要。这一修改并不是很直观,需要经由代码来完成,代码如下:

CFont *m_pFont;//创建新的字体
m_pFont = new CFont;
m_pFont->CreateFont(32,							 // 字体高度
		    0,							 // 字体宽度
		    0,							 // 字体倾斜角
		    0,							 // 字体倾斜角
	    	    FW_EXTRALIGHT,				         // 字体的粗细
		    FALSE,						 // 字体是否为斜体
		    FALSE,						 // 字体是否有下划线
		    0,							 // 字体是否有删除线
		    ANSI_CHARSET,				         // 字体使用的字符集
		    OUT_DEFAULT_PRECIS,		     	                 // 指定如何选择合适的字体
		    CLIP_DEFAULT_PRECIS,    		                 // 确定裁剪的精度
		    DEFAULT_QUALITY,			                 // 怎么样跟选择的字体相符合
		    DEFAULT_PITCH | FF_SWISS,	                         // 间距标志和属性标志
		    _T("楷体"));				         // 字体的名称

//标签控件
m_EditControl.SetFont(m_pFont, false);	//将编辑框与设置字体相关联
//按钮控件
mybutton.SetFont(m_pFont, false);//对于按键也同理,mybutton为CButton对象
//列表控件
list.SetFont(m_pFont, false);//list为CListCtrl对象
list.InsertColumn(0, _T("学号"), LVCFMT_LEFT, 110);
list.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, 110);
    要改变控件的字体颜色则更加复杂一点,需要做以下几点

    1.定义画刷对象

CBrush m_Brush;//画刷工具
    2.初始化画刷对象
m_Brush.CreateSolidBrush(GetSysColor(COLOR_3DFACE));//初始化画刷,用GetSysColor返回对话框背景色
    3.添加对话框的WM_CTLCOLOR消息相应

    4.在对话框的消息响应函数中添加如下代码

if (nCtlColor == CTLCOLOR_STATIC)//CTLCOLOR_STATIC为标签控件
{
	if (pWnd->GetDlgCtrlID() == IDC_STATIC_FONT)//特定的某一个标签,IDC_STATIC_FONT为标签控件ID
	{
		pDC->SetBkMode(BKMODE_LAST);//透明
		pDC->SetTextColor(RGB(255, 0, 0)); //文字颜色  
		//pDC->SetBkColor(RGB(251, 247, 200));//背景色
		return (HBRUSH)m_Brush.GetSafeHandle();
	}
}
    经过上面的操作,可以得到如下的效果:

  
                      未修改原图                                        修改后图像

MFC窗口各控件的颜色和字体的设置 很多人定义了基于MFC的程序项目,当设计界面使用控件时,却不知道如何对各控件进行字体与颜色的设计;其实这些修改是需要动手添加代码的,这方面的修改在控件属性里是没有现成的,这不同于.net定义的项目,它的是有直接属性修改的。我在原文的基础上做了修改与完善,也可参见原文 原文:http://www.study-code.com/visual-studio/vc/74759.htm 1、改变对话框的 阅读详情

相关推荐

MFC改变对话框中静态文本的字体大小

<br />VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体。对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了。 <br /><br />例子: <br />1、改静态文体的ID,如:IDC_STATIC1 <br />2、添加一个Edit控件,建立一个关联的控件m_editControl。 <br />3、在OnInitDialog中添加如下代码: <br />CFont * f; <br />f = new CFont; <b

dreamflylin的专栏 2807

MFC C++改变控件字体大小颜色的方法

MFC C++改变控件字体大小颜色的方法

xjsuez的专栏 2061

MFC Windows 程序设计之字体样式

MFC Windows 程序设计之字体样式,适合初学MFC的小伙伴学习研究,博客中有对应的讲解和演示,避免走弯路,费时费力。也真心希望能够帮助正在苦学MFC Windows 程序设计的小伙伴们,你们的成长是我最大的幸福。

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

MFC控件是MFC类库中的一部分,提供了各种可视化界面元素,用于构建用户界面。以下是一些常见的MFC控件及其功能和属性设置:1、CButton(按钮):用于触发特定操作或执行选定动作的控件。可以设置文本、图像、样式等。2、CEdit(编辑框):用于接收和显示文本输入的控件。可以设置文本内容、大小、样式、限制输入等。3、CListCtrl(列表控件):用于以列表形式展示数据的控件。支持单列或多列数据,可以设置每列的数据类型、宽度、排序等。

分享型博主 9347

在PyCharm中配置使用Anaconda环境

在PyCharm中配置使用Anaconda环境一、步骤1.Anaconda2.PyCharm总结 一、步骤 1.Anaconda 如未安装Anaconda可至其官网下载,学习使用个人版就可以了。 下载地址:https://www.anaconda.com/products/individual 1、打开Anaconda Navigator,点击Environments可以看到anaconda中已经有了默认的“base”环境,其中包含了大多数我们会用到的包,在PyCharm中可以直接使用该环境,而无需自行下载

TuckX的博客 19万+

glm-4v-9b环境配置全攻略:从CUDA版本冲突到bitsandbytes异常排查(RTX A4000实测)

本文详细介绍了在RTX A4000显卡上配置GLM-4V-9B多模态大模型的完整流程,重点解决CUDA版本冲突和bitsandbytes异常问题。通过4-bit量化技术显著降低显存占用,提供从环境预检到量化部署的实战指南,帮助开发者在有限显存环境下高效运行大模型。

weixin_30369041的博客 405

在 MFC 中的 SetFont() 函数的正确使用

概要 CWnd 类的 SetFont() 成员函数更改中指定控件的字体。此函数在基于 Windows 的应用程序中正常工作,必须确保指定的控件已被销毁之后,SetFont() 调用中指定的 CFont 对象不销毁之前。 回到顶端 | 提供反馈 更多信息 SetFont() 接受 CFont 对象作为参数。控件使用指定的字体来显示其文本。SetFont() 函数实现将 WM_

Never too late to study 2万+

直流耦合系统介绍

参考《SMA如何使用直流耦合技术实现更高效的光伏电站-白皮书》

圆桌骑士的博客 732

mfc控件设置颜色(超全)

环境:vs2015 unicode环境下 1.mfc Button Control (设置背景颜色) 在初始化函数中添加如下: m_btn1.m_bDontUseWinXPTheme = TRUE; m_btn1.m_bDrawFocus = false; m_btn1.SetFaceColor(RGB(245,222,179)); m_btn1为控件变量名,缺点:按钮显示不太美观,如下所示: 2. static text(text control) (设置字体颜色) 在资源视图...

weixin_44957370的博客 1万+

C#与西门子PLC S7-1500 S7协议PLC读写数据

/获取对应长度的字符串。//将val字符串转换为字符数组。//String写入。//String读取。//PLC类型 IP地址 机架号 槽号。1.类库使用S7netplus。

softshow1026的博客 5576

步科触摸屏编程

1.首先官网上下载kinco软件,然后再安装驱动,安装的方式是需要两个文件。把两个文件放到driver文件夹下面,然后设备管理器右键更新,手选driver文件夹,自动安装即可。 步科触摸屏驱动文件下载地址 2.按照步科触摸屏使用手册一步一步来建立工程 Kinco HMIware使用手册下载地址 登录界面 涉及到的是页面切换,用的是login window,然后只留下等级输入那个

MAYBE的博客 2万+

MFC设置字体及颜色

<br />设置字体<br />函数原型:<br />     BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndF

tigerMayDo的专栏 2万+

当启动容器的时候提示:exec format error?如何解决问题

Docker容器出现"exec format error"的主要原因是架构不兼容(如ARM设备运行x86镜像)。解决方案包括:1)匹配镜像与宿主机架构;2)构建时指定平台;3)安装QEMU模拟器;4)修复文件权限和格式;5)验证基础镜像兼容性。排查流程应从检查架构匹配开始,逐步验证权限、解释器和换行符等问题。建议优先使用多架构镜像,构建时明确指定平台,并使用buildx工具生成多平台镜像。调试时可进入容器手动验证文件格式和兼容性。

weixin_39291964的博客 2719

vc CListCtr控件设置指定行字体颜色,背景颜色

一开始以为CListBox和CListCtr是差不多的,用CListBox手动添加NM_CUSTOMDRAW消息后,一直不响应,不知道是什么原因,只能改用CListCtr,CListCtr可以通过类向导添加NM_CUSTOMDRAW,就比较方便了. 先定义一个宏#define LRED 1 绑定CListCtr控件变量m_list 通过类向导添加NM_CUSTOMDRAW后,在消息映射函数中...

boke的博客 1195

LeRobot 入门教程(十六)Isaac Lab LeIsaac 叠衣服、夹橙子仿真环境

LeRobotEnvHub现已支持通过LeIsaac进行机器人模仿学习,提供摘橙子、搬立方体等日常任务仿真环境。用户可通过HuggingFace共享环境,使用一行代码加载任务,支持随机动作测试和远程操控。系统提供云端仿真方案,无需本地GPU即可运行。当前支持4种任务环境,通过make_env函数切换,其中折叠布料任务需先调用initialize()函数。该平台集成了数据采集、转换和训练全流程,为机器人学习提供便捷工具链。

2506_90492529的博客 1483

innovus:ccopt_design流程

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?spec文件可以只创建一次,无需多次创建。2)virtual balance阶段。3)Full Balancing阶段。4)Clock Routing阶段。1)clustering阶段。

m0_61544122的博客 2477

【无标题】

1:字体与字体大小修改 方法1: //1:声明字符管理类对象 CFont m_MyFont; //2:添加字符信息 m_MyFont.CreatePointFont(180, _T(“宋体”)); //3: GetDlgItem(IDC_BUT1)->SetFont(&m_MyFont); 操作之后的结果(红色是我后期加上去的,如何操作下文将介绍) 方法2:如果你觉得这样一个一个的修改过于麻烦,这里提供另一种方法: //声明回调函数 static BOOL CALLBACK EnumChild

weixin_43158867的博客 392

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MFC静态文本控件如何设置字体--大小和颜色及背景色

CFont font;  font.CreateFont(10,10,0,0,FW_BLACK,FALSE,FALSE,   FALSE,GB2312_CHARSET,OUT_DEFAULT_PRECIS,   CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,   FIXED_PITCH|FF_MODERN, _T("华文楷体"));  m_stc.SetFont

u014023993的专栏 7212

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MFC设置对话框Static Text字体和背景颜色

转载请注明出处! 注意在STATIC字体设置居中 添加颜色消息响应函数 HBRUSH CTargetImageDlg :: OnCtlColor(CDC * pDC,CWnd * pWnd,UINT nCtlColor) { HBRUSH hbr = CDialogEx :: OnCtlColor(pDC,pWnd,nCtlColor);   // TODO:在此更改DC的任何特性 ...

hanxiaoyong_的博客 6740

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

对话框中设置静态文本框字体及颜色

1、添加对话框类声明中字体和颜色变量 public: CFont m_myFont; // 字体对象 COLORREF m_myColor; // 颜色对象 2、在对话框初始化函数OnInitDialog()中对字体和颜色进行初始化 // TODO: 在此添加额外的初始化代码 m_myFont.CreatePointFont(150, _T("华文彩云")); m

zcube的技术博客 8643

CLabel Code学习

  关于SS_LEFTNOWORDWRAP SS_LEFTNOWORDWRAP属性是用来关闭文本回绕的。它会强迫使用左对齐属性,多余的文字被剪裁。关于SS_OWNERDRAWSpecifies that the owner of the static control is responsible for drawing the control. The owner window

magicsutra的专栏 3271

VC/MFC如何设置对话框、static背景颜色

参考自: https://blog.youkuaiyun.com/lgstudyvc/article/details/51324206 1.重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor) 2…h文件中添加CFont m_font; 3.OnInitialUpdate中添加m_font.CreatePointFont(150, _T(“楷体”)); 4.O...

lwy572039941的博客 491

MFC CEdit拓展类 CEditEx

MFC CEdit拓展类 CEditEx 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源库提供的是一款基于MFC的CEdit控件拓展类——CEditEx。该类为开发者提供了便捷的功能,如修改字体颜色、设置背景颜色和字体等,极大地简化了在窗口的OnCtlColor函数中编写大量代码的繁琐工作。 功能特性 修改字体颜色:轻松改变编辑框中文本的字体颜色。 设置背景颜色:...

gitblog_06763的博客 926

MFC修改文本框和字体颜色 加载图片

public:  CBrush m_MeaningBrush; //背景颜色画刷  afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); CSkinDlg::CSkinDlg(CWnd* pParent /*=NULL*/) : CDialog(CSkinDlg::IDD, pParent) {     m

zdhlwt2008的博客 657
上一篇: C++ 鼠标模拟程序
下一篇: MFC 与Excel文件的交互操作
_寒潭雁影
博客等级 码龄14年 2809粉丝 343原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值