Como exibir dicas de ferramentas para botões
Quando você especifica o estilo TBSTYLE_TOOLTIPS, a barra de ferramentas cria e gerencia um controle de dica de ferramenta. O controle de dica de ferramenta fica oculto e aparece somente quando os usuários movem o ponteiro sobre um botão da barra de ferramentas e o deixam lá por aproximadamente um segundo.
Seu aplicativo pode fornecer texto para o controle de dica de ferramenta de qualquer uma das seguintes maneiras:
- Defina o texto da dica de ferramenta como o membro iString da estrutura TBBUTTON para cada botão. Você também deve enviar uma mensagem de TB_SETMAXTEXTROWS e definir o máximo de linhas de texto como 0, para que o texto não apareça como o rótulo do botão em vez de como uma dica de ferramenta.
- Crie a barra de ferramentas com o estilo TBSTYLE_LIST e, em seguida, defina o TBSTYLE_EX_MIXEDBUTTONS estilo estendido. Os rótulos são mostrados apenas para botões que têm o estilo BTNS_SHOWTEXT. Para botões que não têm esse estilo, é mostrada uma dica de ferramenta que contém o texto do botão.
- Responda ao código de notificação TTN_GETDISPINFO.
- Responda ao código de notificação TBN_GETINFOTIP.
Um aplicativo que precisa enviar mensagens diretamente para o controle de dica de ferramenta pode recuperar o identificador para o controle usando a mensagem TB_GETTOOLTIPS. Um aplicativo pode substituir o controle de dica de ferramenta de uma barra de ferramentas por outro controle de dica de ferramenta usando a mensagem TB_SETTOOLTIPS.
A maneira mais flexível de fornecer texto de dica de ferramenta é responder ao código de notificação TTN_GETDISPINFO ou TBN_GETINFOTIP enviado pelo controle da barra de ferramentas para seu pai na forma de uma mensagem WM_NOTIFY . Por TTN_GETDISPINFO, o parâmetro lParam inclui um ponteiro para uma estrutura NMTTDISPINFO (também definida como LPTOOLTIPTEXT) que especifica o identificador de comando do botão para o qual o texto da Ajuda é necessário. Esse identificador está no membro NMTTDISPINFO.hdr.idFrom . Um aplicativo pode copiar o texto da Ajuda para a estrutura, especificar o endereço de uma cadeia de caracteres que contém o texto da Ajuda ou especificar o identificador de instância e o identificador de recurso de um recurso de cadeia de caracteres.
O que você precisa saber
Tecnologias
Pré-requisitos
- C/C++
- Programação da interface do usuário do Windows
Instruções
Exibir uma dica de ferramenta para um botão
O código de exemplo a seguir manipula o código de notificação de dica de ferramenta TTN_GETDISPINFO fornecendo texto de identificadores de recursos.
case WM_NOTIFY:
switch (((LPNMHDR) lParam)->code)
{
case TTN_GETDISPINFO:
{
LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam;
// Set the instance of the module that contains the resource.
lpttt->hinst = g_hInst;
UINT_PTR idButton = lpttt->hdr.idFrom;
switch (idButton)
{
case IDM_NEW:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW);
break;
case IDM_OPEN:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN);
break;
case IDM_SAVE:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE);
break;
}
break;
}
}
return TRUE;
Tópicos relacionados