【问题标题】:MFC - Change font in a CMFCToolTipCtrl used in CDialogEx controlMFC - 更改 CDialogEx 控件中使用的 CMFCToolTipCtrl 中的字体
【发布时间】:2016-12-02 10:19:46
【问题描述】:

我正在尝试在我的对话框中显示 CStatic 派生控件的工具提示。

我已经做了什么:

  1. 向我的 CDialogEx 成员添加了 CMFCToolTipCtrl 项。
  2. 在初始化对话框成员中,我指定了 CMFCToolTipInfo 结构并将其作为参数传递给 CMFCToolTipCtrl 项构造函数。
  3. 调用 EnableToolTips();我的 CStaticExts 和 CDialogEx 的成员。
  4. 覆盖了我的 CDialogEx 的 PreTranslateMessage,添加了“RelayEvent”。
  5. 在资源编辑器中设置“通知:TRUE”。

这样做我设法以部分自定义的方式(气球和背景颜色)显示工具提示,但现在我想放大字体,使其变为粗体,并最终显示一个图标,类似于我可以使用的工具提示在我的工具栏上查看。

我已经尝试为 CMFCToolTipCtrl 项调用“SetFont”和“SetIcon”方法,但没有成功。

这可能吗?

【问题讨论】:

    标签: c++ mfc tooltip


    【解决方案1】:

    CMFCToolTipCtrl 中使用的普通字体是从 MFC 内的全局数据存储中检索的(请参阅 GetGlobalData()->fontTooltip)。这个数据结构 AFX_GLOBAL_DATA 在 MFC 启动时被填充。 SetFont 在这里不起作用。

    如果你想改变你必须创建自己的 CMFCToolTipCtrl 类并覆盖 OnDrawLabel 的行为。您拥有 MFC 的源代码,因此很容易提供您自己的实现。

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      相关资源
      最近更新 更多