MFC - 更改 CDialogEx 控件中使用的 CMFCToolTipCtrl 中的字体
Posted
技术标签:
【中文标题】MFC - 更改 CDialogEx 控件中使用的 CMFCToolTipCtrl 中的字体【英文标题】:MFC - Change font in a CMFCToolTipCtrl used in CDialogEx control 【发布时间】:2016-12-02 10:19:46 【问题描述】:我正在尝试在我的对话框中显示 CStatic 派生控件的工具提示。
我已经做了什么:
-
向我的 CDialogEx 成员添加了 CMFCToolTipCtrl 项。
在初始化对话框成员中,我指定了 CMFCToolTipInfo 结构并将其作为参数传递给 CMFCToolTipCtrl 项构造函数。
调用 EnableToolTips();我的 CStaticExts 和 CDialogEx 的成员。
覆盖了我的 CDialogEx 的 PreTranslateMessage,添加了“RelayEvent”。
在资源编辑器中设置“通知:TRUE”。
这样做我设法以部分自定义的方式(气球和背景颜色)显示工具提示,但现在我想放大字体,使其变为粗体,并最终显示一个图标,类似于我可以使用的工具提示在我的工具栏上查看。
我已经尝试为 CMFCToolTipCtrl 项调用“SetFont”和“SetIcon”方法,但没有成功。
这可能吗?
【问题讨论】:
【参考方案1】:CMFCToolTipCtrl 中使用的普通字体是从 MFC 内的全局数据存储中检索的(请参阅 GetGlobalData()->fontTooltip)。这个数据结构 AFX_GLOBAL_DATA 在 MFC 启动时被填充。 SetFont 在这里不起作用。
如果你想改变你必须创建自己的 CMFCToolTipCtrl 类并覆盖 OnDrawLabel 的行为。您拥有 MFC 的源代码,因此很容易提供您自己的实现。
【讨论】:
以上是关于MFC - 更改 CDialogEx 控件中使用的 CMFCToolTipCtrl 中的字体的主要内容,如果未能解决你的问题,请参考以下文章