Udostępnij za pośrednictwem


Obsługa powiadomienia TTN_NEEDTEXT w przypadku etykietek narzędzi

W ramach Włączanie etykietki narzędzi, obsługiwać TTN_NEEDTEXT wiadomości, dodając następujący wpis do okna właściciela wiadomość mapy:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
  • memberFxn
    Element członkowski funkcja wywoływana, gdy potrzebny jest tekst dla tego przycisku.

Należy zauważyć, że identyfikator etykietka narzędzia jest zawsze 0.

Deklarują swoje funkcji obsługi w definicji klasy, co następuje:

afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);

gdy pochyły parametry są:

  • id
    Identyfikator formantu, do którego wysłane powiadomienie.Nie używany.Identyfikator formantu jest pobierana z NMHDR struktury.

  • pNMHDR
    Wskaźnik do NMTTDISPINFO struktury.Struktura ta została również omówiona dalej w Struktury TOOLTIPTEXT.

  • pResult
    Wskaźnik do kod wyniku można ustawić przed zwróceniem.TTN_NEEDTEXT programy obsługi można zignorować pResult parametru.

Na przykład program obsługi powiadomień widoku formularza:

BOOL CMyDialog::OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(id);

   NMTTDISPINFO *pTTT = (NMTTDISPINFO *) pNMHDR;
   UINT_PTR nID = pNMHDR->idFrom;
   BOOL bRet = FALSE;

   if (pTTT->uFlags & TTF_IDISHWND)
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND)nID);
      if(nID)
      {
         _stprintf_s(pTTT->szText, sizeof(pTTT->szText) / sizeof(TCHAR), 
            _T("Control ID = %d"), nID);
         pTTT->hinst = AfxGetResourceHandle();
         bRet = TRUE;
      }
   }

   *pResult = 0;

   return bRet;
}

Wywołanie EnableToolTips (ten fragment pobranych z OnInitDialog):

EnableToolTips(TRUE);

Zobacz też

Koncepcje

Etykietki narzędzi w systemie Windows niepochodzące od obiektu CFrameWnd