MFC - 更改CDialogEx控件中使用的CMFCToolTipCtrl中的字体

时间:2016-12-02 10:19:47

标签: c++ mfc tooltip

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

我已经做过的事情:

  1. 向我的CDialogEx会员添加了CMFCToolTipCtrl项目。
  2. 在init对话框成员中,我指定了CMFCToolTipInfo结构,并将其作为参数传递给CMFCToolTipCtrl项构造函数。
  3. 调用EnableToolTips();我的CStaticExts和我的CDialogEx的成员。
  4. 覆盖了我的CDialogEx的PreTranslateMessage,添加了" RelayEvent"。
  5. 设置"通知:TRUE"在资源编辑器中。
  6. 这样做我设法以部分定制的方式显示工具提示(气球和背景颜色)但现在我想放大字体,使其变粗,并最终显示图标,类似于我可以使用的工具提示在我的工具栏上看到。

    我已经尝试过调用" SetFont"和#34; SetIcon" CMFCToolTipCtrl项的方法,但它没有工作。

    这可能吗?

1 个答案:

答案 0 :(得分:0)

从MFC内部的全局数据存储中检索CMFCToolTipCtrl中使用的普通Font(请参阅GetGlobalData() - > fontTooltip)。启动MFC时,将填充此数据结构AFX_GLOBAL_DATA。 SetFont在这里没有效果。

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