Member 14594285 Ответов: 2

Добавление всплывающей подсказки к кнопке


Я написал в OnInitDialog:

CToolTipCtrl m_tip;
	m_tip.Create(this);
	m_tip.AddTool(GetDlgItem(IDC_BUTTON9), _T("Tooltip text"));
	m_tip.Activate(TRUE);


но всплывающая подсказка не появляется..

Что я уже пробовал:

Я пытался использовать указатель за совет, но это то же самое

2 Ответов

Рейтинг:
1

KarstenK

Вам нужно сделать еще несколько шагов, например, обработать сообщения всплывающей подсказки.

Прочитайте CListCtrl и отображение всплывающей подсказки статья и код для деталей.


Member 14594285

значит, я должен сделать подкласс?? это так долго

Member 14594285

Я решил, что использовал предварительный перевод сообщения, но если я хочу показать подсказку внутри кнопки?

Рейтинг:
1

Richard MacCutchan

Я подозреваю, что это может быть потому, что m_tip является локальной переменной и выходит за пределы области действия в конце OnInitDialog Попробуйте добавить переменную в класс CDialog, чтобы она оставалась в течение всего срока действия диалогового окна.


Member 14594285

дело не в этом

Richard MacCutchan

Ну, я в основном гадал, так как у меня нет МФЦ, и прошло уже довольно много лет с тех пор, как я им пользовался.

Member 14594285

Я решил..Я написал::

BOOL CMFCApplication22Dlg::PreTranslateMessage(MSG* pMsg)
{
m_tip.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);
}