在工具提示中使用自绘修改字体

在上一篇文章中,我们学习了如何在应用程序中添加工具提示。在之前的例子代码中,我们通过简单地为创建的工具提示设置了目标字体,这种方法很简单,因为自始至终,我们都只创建了一个工具提示。

但是,如果在应用程序中,我们创建了多个不同字体的工具提示,则这种方法就不会奏效了。这个时候,我们需要一种新的方法,是的,你想的和我一样:自绘。

让我们还是回到之前的例子代码,但是这次,我们将会通过自绘来设置字体,而不是设置一个全局字体。

>> 请移步至 topomel.com 以查看图片 <<

在上面的代码中,我们通过响应工具提示窗口的 NM_CUSTOMDRAW 通知来设置自定义字体。在通知处理代码中,请注意,我们检查了绘制阶段,仅在当绘制阶段为 CDDS_PREPAINT 时,才会调用 SelectFont 来设置我们想要的字体,并返回了一个特定值:CDRF_NEWFONT。这个返回值指示,我们修改了工具提示的字体,系统需要使用我们设置的新字体来显示文本。

这样,我们就可以为每一个工具提示设置你希望使用的字体了,是不是更加具有扩展性呢?

当然,如果我们的应用程序只有一个工具提示,则上面的方法有点"大炮打蚊子",

但是如果这个工具提示需要在应用程序界面的多个不同位置显示,则可能需要在不同的区域显示不同的字体,那么,今天的技法就派的上用场了。

总结

在 Windows 界面开发中,我们有时候不希望使用系统默认给我们的界面样式,但没关系,我们有自绘这种方法来绘制我们想要的样式,是不是感觉又有希望了呢?

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。

本文来自:《Using custom-draw in tooltips to adjust the font》

相关推荐
jingshaoqi_ccc9 小时前
windows 10系统下QT的安装及在Visual studio中的扩展安装
windows·qt·visual studio
東雪木14 小时前
泛型、反射、注解(Spring 框架核心底层)专属复习笔记
java·windows·笔记·学习·spring
sun00770016 小时前
Windows下UniGetUI,Linux下敲命令
windows
流星白龙16 小时前
【MySQL高阶】18.缓冲池页管理
数据库·windows·mysql
AI行业学习17 小时前
PuTTY 工具下载部署、基础配置及 SSH 远程服务器连接完整操作指南Windows 平台 【2026.6.1】
运维·windows·ssh
tealcwu18 小时前
【Unity实战】Unity IAP 4.x 在 Windows Store (UWP) 平台上的实现指南
windows·unity·游戏引擎
爱讲故事的19 小时前
操作系统第四讲:OS Interfaces and Syscalls(操作系统接口与系统调用)
linux·windows·ubuntu
糖果店的幽灵19 小时前
LangChain 1.3 完全教程:从入门到精通-Part 10: Memory(记忆系统)
windows·microsoft·langchain
tealcwu21 小时前
【Unity实战】Unity IAP 5.3 中实现 Windows Custom Store 实战教程
windows·unity·游戏引擎
ZenosDoron1 天前
vsnprintf可变参数格式化输出函数
windows