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

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

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

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

>> 请移步至 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》

相关推荐
h39741 小时前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
java资料站8 小时前
二、Spring AI Alibaba · ChatModel
java·windows·spring
北冥you鱼9 小时前
Go 语言空接口(interface{})使用场景与最佳实践
开发语言·windows·golang
夏虫不可与之言冰11 小时前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
打工仔折腾 AI14 小时前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
小蜗牛狂飙记16 小时前
Windows 双击 Jar 包无反应,不用写 bat 脚本!Jarfix 一键修复(以 Struts2 扫描工具为例)
windows·struts·jar
坐看风云变幻16 小时前
Betaflight 开发环境搭建保姆级教程(Ubuntu / Windows+WSL / Docker 三方案 + 官方网址大全)
windows·ubuntu·docker·无人机·飞控·betaflight
IT技术分享社区17 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
kakakahahahaha17 小时前
Win10/Win11 Windows Hello指纹不可用处理:WbioSrvc、传感器驱动与登录策略
windows·电脑·笔记本电脑·内容运营·软件需求
小黄人软件18 小时前
粘贴助手C++版 支持 Windows 7 / 10 / 11 不会出现缺少api-ms-win-core-path-11-1-0.dll
开发语言·c++·windows