2016-12-02 2 views
0

Я пытаюсь отобразить подсказку для элемента управления CStatic в моем диалоговом окне.MFC - Изменить шрифт в CMFCToolTipCtrl, используемый в управлении CDialogEx

Что я уже сделал:

  1. Добавлен CMFCToolTipCtrl пункт к моему члену CDialogEx.
  2. В элементе диалога init я указал структуру CMFCToolTipInfo и передал его как аргумент в конструкторе элемента CMFCToolTipCtrl.
  3. Вызовите EnableToolTips(); член для моих CStaticExts и для моего CDialogEx.
  4. Переопределил PreTranslateMessage моего CDialogEx, добавив «RelayEvent».
  5. Установите «Сообщить: ИСТИНА» в редакторе ресурсов.

Doing так мне удалось отобразить всплывающую подсказку в частично настроенной способом (Baloon и цвет фона), но теперь я хотел бы, чтобы увеличить шрифт, сделать его жирным шрифтом и, в конце концов, появляется значок, аналогично инструменту советы, которые я могу видеть на панели инструментов.

Я уже пробовал использовать методы SetFont и SetIcon для элемента CMFCToolTipCtrl, но он не работал.

Возможно ли это?

ответ

0

Обычный шрифт, который используется в CMFCToolTipCtrl ist, извлекается из глобального хранилища данных внутри MFC (см. GetGlobalData() -> fontTooltip). Эта структура данных AFX_GLOBAL_DATA заполняется при запуске MFC. SetFont здесь не действует.

Если вы хотите изменить поведение, вы должны создать свой собственный класс CMFCToolTipCtrl и перезаписать OnDrawLabel. У вас есть источник MFC, поэтому вам легко обеспечить собственную реализацию.

Смежные вопросы