Tratamento TTN_NEEDTEXT notificação para dicas de ferramenta
sistema autônomo parte de Ativar dicas de ferramenta, você manipula o TTN_NEEDTEXT mensagem, adicionando a seguinte entrada ao MAP da mensagem da janela do proprietário:
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
- memberFxn
A função de membro a ser chamado quando o texto é necessário para este botão.
Observe que a ID de uma dica de ferramenta é sempre 0.
Declarar a função do manipulador na definição de clsistema autônomos sistema autônomo segue:
afx_msg BOOL OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult);
onde os parâmetros em itálico são:
id
Identificador do controle que enviou a notificação.Não usado.A ID do controle é tirada do NMHDR estrutura.pNMHDR
Um ponteiro para o NMTTDISPINFO estrutura.Essa estrutura também é discutida mais na A estrutura TOOLTIPTEXT.pResult
Um ponteiro para o código de resultado você pode conjunto antes de retornar.TTN_NEEDTEXT manipuladores podem ignorar o pResult parâmetro.
sistema autônomo um exemplo de um manipulador de notificação do modo de exibição de formulário:
BOOL CMyDialog::OnTtnNeedText(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)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)
{
TCHAR szBuff[64];
_stprintf_s(szBuff, sizeof(szBuff) / sizeof(TCHAR),
_T("Control ID = %d"), nID);
pTTT->lpszText = szBuff;
pTTT->hinst = AfxGetResourceHandle();
bRet = TRUE;
}
}
*pResult = 0;
return bRet;
}
De telefonarEnableToolTips (esse fragmento extraído OnInitDialog):
EnableToolTips(TRUE);