Как добавить описание в динамически создаваемую подсказку CMFCToolbar?

CMFCToolbar наследует функцию EnableToolTip, которая не помогает разработчику, если он динамически создает панель инструментов и не добавляет описание и заголовок в ресурс.
Я сделал расширение для CMFCToolBar и написал функцию:

BOOL CMFCToolBarEx::OnNeedTipText(UINT /*id*/, NMHDR* pNMH, LRESULT* /*pResult*/)
{
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMH;
// UINT nID = static_cast<int>(pNMH->idFrom);
CString strTip = _T("");

CPoint point;
::GetCursorPos(&point);
ScreenToClient(&point);
INT_PTR nHit = ((CMFCToolBar*)this)->HitTest(point);

if(nHit == -1)
return FALSE;

CMFCToolBarButton* pButton = GetButton((int)nHit);
strTip = pButton->m_strText;
_tcscpy(pTTT->lpszText , strTip.GetBuffer(0));

return TRUE;
}

показать подсказку в кнопке cmfctoolbar.

Кнопка cmfctoolbar не принимает параметров и не имеет функции для установки описания. Конструктор принимает параметр как:

pToolBarButton = new CMFCToolBarButton(nId, nIconIndex, lpszText);

Если я установлю параметр lpszText с заголовком, появится только подсказка как это

Мне нужно добавить описание на эту панель инструментов и просмотреть его как это если кто-нибудь может предложить лучший способ сделать это

-1

Решение

Тот, кто ищет ответ. Вот иди просто добавь

CTooltipManager::SetTooltipText((TOOLINFO*) pTTT, m_pToolTip, AFX_TOOLTIP_TYPE_TOOLBAR, strTip, strDescr);

к вашей переопределенной функции onneedtiptext.

0

Другие решения

Других решений пока нет …