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