MFC 9.0新界面字体的美化

MFC对话框美化避坑指南:从OnPaint绘制背景到解决PNG按钮透明度的那些坑 本文深入探讨MFC对话框美化的核心技术,从无边框设计到背景绘制优化,再到PNG按钮透明度的实现与GDI+陷阱。通过详细代码示例和常见问题解决方案,帮助开发者避开MFC界面美化中的各种坑,提升应用视觉效果与性能。 阅读详情

接上一篇。据说这个bug在新版的BCGControlBar Library中已经解决了。咱是免费的,只能自己动手。字体的设置保存在一个全局变量afxGlobalData中,此变量定义AfxGlobals.h中。字体是在AFX_GLOBAL_DATA::UpdateData中设定的。如果要一劳永逸,就得rebuild MFC,不推荐这样,还是等微软更新吧。

我的工程中只用到了菜单,tooltip和dock pane,有变通的方法可以改正字体。

对于菜单,在CMainFrame::OnCreate中创建了CMFCMenuBar之后,用该类提供的SetMenuFont即可很容易的改正字体,只要传入一个LOGFONT结构的指针即可,改动此处将会改动工具栏和dock pane caption字体;

对于tooltips,粗略看了一下,没有找到接口,那么就只好在InitInstance中改了:

 if(afxGlobalData.fontTooltip.GetSafeHandle() != NULL)
 {
  ::DeleteObject(afxGlobalData.fontTooltip.Detach());
 }
 LOGFONT logfont = {0};
 ::SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &logfont, 0);
 afxGlobalData.fontTooltip.CreateFontIndirect(&logfont);
检查MFC代码,在WM_SETTINGCHANGE的处理函数中会调用AFX_GLOBAL_DATA::UpdateFonts(),故或许在处理这两个消息之后应该重新把字体设回来(我没有试验)。

VC++ MFC计算器开发实战:从零构建Windows桌面应用 Windows桌面开发是理解操作系统与应用程序交互的重要领域,其核心在于消息驱动机制和图形用户界面(GUI)编程。通过微软基础类库(MFC)这一经典框架,开发者可以深入掌握Windows API的封装原理,实现控件交互与资源管理。在工程实践中,MFC项目能有效夯实C++面向对象编程基础,并直观展示对话框编程与事件响应机制。对于客户端开发、嵌入式上位机等场景,这种底层技术认知具有长期价值。本文以计算器开发为例,系统讲解Visual Studio环境配置、MFC控件布局、状态机设计与消息处理流程,帮助读者通过具 阅读详情

相关推荐

MFC对话框美化实战:360安全卫士界面设计参考项目

思路很简单:给每个控件定义锚点属性,比如左+右锚定表示宽度随父容器拉伸。CWnd* pWnd;初始化时注册需要锚定的控件:CRect rect;CRect r;响应窗口拉伸:是不是有种“原来就这么简单”的感觉?😄 这套机制已经能满足大部分弹性布局需求了。graph TDA[收到 WM_SIZE 消息] --> B{是否已完成初始化?B -->|否| C[跳过]B -->|是| D[遍历所有布局项]

weixin_42160645的博客 398

VS2008提示无法打开包括文件:“afxcontrolbars.h”解决办法

VS2008提示无法打开包括文件:“afxcontrolbars.h”解决办法

昔月长弓的专栏 492

VS2019 MFC计算器开发:从环境搭建到表达式解析的完整实践

Windows桌面应用开发是C++程序员的核心技能之一,其关键在于理解图形用户界面(GUI)的事件驱动编程模型。MFC(Microsoft Foundation Classes)作为微软经典的C++框架,通过封装Win32 API,为开发者提供了构建Windows应用程序的高效工具集。在工程实践中,掌握MFC的对话框编程、消息映射机制和控件数据交换(DDX)技术,能够显著提升开发效率。计算器项目作为经典的教学案例,完美融合了界面设计、业务逻辑与算法实现,是学习MFC的理想切入点。通过实现从基础四则运算到复杂

weixin_30756499的博客 415

MFC修改全局字体

BOOL CXXXApp::InitInstance() 中加入如下代码: // 修改默认字体 [2012-3-19 sxh] //设置正常字体 LOGFONT lf; afxGlobalData.fontRegular.GetLogFont(&lf); afxGlobalData.fontRegular.DeleteObject(); lf.lfHeight = -

玉宇逍遥 4256

MFC最新英文版9.0(高清)

微软MFC最新英文版,MFC9.0,解压后三张高清pdf类层次图表。

MFC9.0类库层次图

MFC9.0类库层次图。 MFC中的类按照功能的不同,可以分为不同的层次。图中显示了MFC中的所有类及类库层次。

MFC2008SP1 : AFX_GLOBAL_DATA 结构体

微软MSDN地址:http://technet.microsoft.com/zh-cn/library/bb984192(v=vs.110).aspx 源代码 struct AFX_GLOBAL_DATA { friend class CMemDC; BOOL m_bUseSystemFont; // Use system font for menu/toolbar/ribbons

netanimals的专栏 3059

MFC9.0类结构图

MFC类继承结构图,帮助理解它的框架和运行原理,了解每个类的继承关系。这个文档是微软第9版的类结构图,共5个文件

MFC 中自定义输出字体CFont和获得系统当前默认字体CFont

CFont newfont; CFont *oldfont = pDC->GetCurrentFont(); newfont.CreateFont(16, 6, 0, 0, 600, TRUE, FALSE, FALSE, 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_R

YoungStar70的博客 7141

头歌操作系统2.3系统调用命令ls执行的系统调用

设置版本0内核为分析对象。然后一直c直到虚拟机出现。然后一直c就是答案了。

m0_74128952的博客 1万+

以LAN8720A为例的以太网硬件设计方案

输入时钟(XTAL1/CLKIN,XTAL2):推荐外加25MHz(性价比较高)晶振为PHY芯片提供时钟,PHY芯片内部PLL将其倍频为50MHz来使用,亦可使用直接使用50MHz晶振。三位MODE通过高低电平组合分别对应以上8种模式 ,包含10M半双工,10M全双工,100M半双工,100M全双工,是否启用自协商协议,CRS是否有效等。VDDCR:1.2V电源,可由芯片内部稳压电源提供,亦可由外部电源提供,由外部电源提供可降低芯片功耗。REF_CLK:参考时钟,由MAC或外部时钟晶振向PHY芯片提供。

weixin_46154042的博客 5885

MFC程序字体太小

首先,这是一个MFC的Bug,解决时间暂时还不确定,临时的方案如下: App在InitInstance中加入: LOGFONT logfont = {0}; :: SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(LOGFONT), &logfont, 0); afxGlobalData.SetMenuFont(&logfont,t

临渊羡鱼 1648

T-Box功能详解及应用

T - BOX,其全称为 Telematics Box,作为远程 / 车载通信模块,是一款集车身网络与无线通讯功能于一体的智能终端设备。它充当了多媒体车机与 TSP(汽车远程服务提供商)以及互联网之间的无线路由器角色,为用户创造了远程访问的可能。用户借助T - BOX能够对车辆配备的各个 ECU(电子控制单元)进行远程操控,包括远程启动或停止发动机开启或关闭空调天窗后备箱门车门,以及实现闪灯鸣笛等功能。

wgl110110的博客 5643

修改字体FAQ

1.为什么要修改字体 为什么要修改字体呢?修改字体的原因无非有两种:1,美化界面,2,解决部分乱码问题。先说说第一种情况,由于英文程序普遍用的字体是8号英文字体,而中文程序普遍用的是9号宋体,所以有些地方的字体会显示比较小,中文字体能完整显示的字体是9磅字体。有些朋友会问:为什么我用8号英文字体在2000下也会正常呢?原因可能是这样:英文字体中不包括中文的字模,如果用英文字体显示中文,则系

  1278

从solidworks导出URDF模型

一、下载sw_urdf_exporter插件 ROS目前提供了SolidWorks转URDF的插件,叫做sw_urdf_exporter,从http://wiki.ros.org/sw_urdf_exporter下载sw2urdfSetup.exe文件,下载后点击安装,安装完成后就能在solidworks中导出URDF模型了。 二、创建solidworks模型 下面以较为简单的四轮小车为例进行说...

weixin_45168199的博客 4万+

Mission Planner连接Autopilot保姆级教程:从USB到无线全搞定

本文提供Mission Planner连接Autopilot的全面指南,涵盖USB直连、无线数传、蓝牙适配等多种连接方案。详细讲解驱动安装、波特率匹配、性能优化等关键步骤,并分享多链路冗余配置与故障转移的高阶技巧,助你快速解决连接问题。

weixin_28455801的博客 379

数字图像处理(2) — 基于VC++环境的人脸美颜软件

作者:程昊威 上海电力大学 授课教师:秦伦明 开发环境:VS2012+MFC+Opencv2.4.9 实验目的: 利用VC++实现人脸美化软件,要求: 1、具有人脸美化界面; 2、具有磨皮功能,参数可调; 3、具有美白功能,参数可调; 实验原理 磨皮:滤波(均值滤波、高斯滤波、双边滤波) 融合:使用高反差保留进行图像融合 美白:使用图像增强—非掩蔽锐化 ...

weixin_44045163的博客 2878

基于STFT和卷积神经网络的时序数据分类

我们提供了相应的代码和数据,读者可以直接运行并尝试在自己的数据集上进行分类实验。在本文中,我们将介绍一种基于短时傅里叶变换(STFT)和卷积神经网络(CNN)的时序数据分类方法。我们将提供可直接运行的代码和数据,以帮助读者理解和实现这一方法。STFT可以提取信号的频谱信息,有助于捕捉时序数据中的关键特征。在这个例子中,我们将使用一个简化的手势识别数据集作为示例。在这段代码中,我们使用Adam优化器和稀疏分类交叉熵损失函数进行模型的编译。然后,我们使用训练集进行模型的训练,同时使用测试集进行模型性能的验证。

CodeWOW的博客 694

基于MFC的桌面时钟应用程序

前言: 其实在做这个应用程序之前是已经接触过MFC,之前的对于MFC的应用只是绘制了简单的图形界面用于承载核心的局域网聊天的程序的界面显示而已,主体部分在于核心的局域网聊天的实现。 但是这次对于MFC的应用则是为了更加了解对于MFC的各种接口的应用以及如何自己去重载那些由微软公司已经写好的各种控件的改变。那么这次桌面应用程序则是用这个程序去表达我想要绘制的图形界面罢了,这次的答辩内容则...

qq_42034052的博客 1349

RT-DETR改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新

一、本文介绍 本文记录的是利用Strip Pooling模块优化RT-DETR的目标检测网络模型。Strip Pooling结合了长而窄的卷积核形状在一个空间维度上的长程关系捕捉能力和在另一个空间维度上的局部细节捕捉能力,有效地处理复杂的场景信息。这一机制通过采用1×N1×N1×N或N×1N×1N×1的池化核形状来适应不同的图像特征,提高模型对目标形状和分布的适应性。在场景解析网络中,Strip Pooling可以被用于提升对具有长程带状结构或离散分布目标的解析能力,特别是在复杂场景或不同对象布局条件下效果

Limiiiing的博客 580

Xilinx差分原语-IBUFGDS与OBUFGDS FPGA

它将差分信号转换为单端信号,并将其输入到FPGA的逻辑片上。它将单端信号转换为差分信号,并将其输出到FPGA的引脚。在FPGA设计中,差分信号是一种常见的信号传输方式,用于提高抗噪性和抑制共模噪声。Xilinx是一家知名的FPGA供应商,提供了许多差分原语,其中包括IBUFGDS和OBUFGDS。通过使用Xilinx的差分原语,如IBUFGDS和OBUFGDS,可以实现差分信号的输入和输出。这些差分原语提供了方便且可靠的接口,使得在FPGA设计中处理差分信号变得更加简单和高效。是差分输入信号的端口,

git_database727的博客 2096

解决VC6不能停止编译的问题,顺带美化下,让VC6实现XP风格界面

VS2010比VC6好看很多,但是,大,太大了,不仅仅是本身占硬盘大(尽管我有4块硬盘,不怕占),最关键编译得到的程序不仅体积大,运行还慢!同样的代码用VC6做出来就短小快速……我是真无奈了……但是VC6有很大软肋!难看!一个是自身界面,另一个是显示的代码难看,最后是生成的程序也难看……不过这些都得到了解决~=============================================...

weixin_30312563的博客 153

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

mfc 快速设置字体加粗 下划线_python3-xlwt-Excel 格式设置

通过 Python xlwt 模块对 Excel 格式进行设置,包括字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗# coding:utf-8import xlwtimport time i = 0book = xlwt.Workbook(encoding='utf-8')sheet = book.add_sheet('sheet1', cell_overwrite_o...

weixin_39727706的博客 223

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

mfc 快速设置字体加粗 下划线_Python设置excel表格格式,这3个属性6个模块,要表格好看...

前言:通过前面两篇文章,我们用Python处理excel数据得到了结果并保存了文件。打开文件会发现,文件里表格是没有设置格式的,还需手动调整行高列宽等样式,很麻烦。其实,通过Python库模块,能轻松设置表格格式。且常用的只有3个属性和6个模块,掌握基本就够了。具体是哪些?我们一起来看:一、3个属性1、调整行高和列宽.height,.widthopenpyxl库里,设置行高和列宽,是行、列的专有属...

weixin_39599166的博客 557

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

MFC双显时钟项目:从GDI绘图到Windows桌面开发核心实践

在Windows桌面开发领域,图形设备接口(GDI)是实现自定义绘制的核心技术,它通过设备上下文(DC)管理图形输出,是理解Windows GUI编程的基础。GDI绘图机制涉及坐标变换、画笔画刷资源管理及双缓冲技术,能有效解决界面闪烁问题,提升用户体验。其技术价值在于为开发者提供了底层图形控制能力,是实现个性化界面、数据可视化及实时监控等场景的关键。结合定时器消息循环,可构建动态更新的应用程序,如仪表盘、动画演示及实时数据展示。本文以【指针与数字双显时钟】为例,深入剖析如何利用MFC框架整合GDI绘图与定时

weixin_33894640的博客 329

MFC计算器开发实战:从零构建Windows桌面应用

桌面应用程序开发是软件工程中的重要领域,其核心在于理解图形用户界面(GUI)与业务逻辑的交互机制。在Windows平台,MFC(Microsoft Foundation Classes)作为经典的C++框架,通过消息映射机制实现了事件驱动的编程模型,这一原理与现代前端框架的事件驱动思想同源,但更贴近操作系统底层。掌握MFC有助于深入理解窗口、控件、消息循环等基础概念,对于维护遗留系统或夯实桌面开发基础具有重要价值。本文聚焦于一个典型的工程实践项目——计算器开发,通过MFC的对话框、控件绑定和消息处理,完整演

weixin_34413802的博客 417
上一篇: VC6工程迁移到VC2008 SP1中,使用MFC 9.0静态链接后运行错误的解决办法
下一篇: 国外精品课程
会思考的草
博客等级 码龄25年 208粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值