Partilhar via


Como implementar dicas de ferramentas de balão

As dicas de ferramentas de balão são semelhantes às dicas de ferramentas padrão, mas são exibidas num "balão" estilo cartoon com uma cauda que aponta para a ferramenta. As dicas de ferramentas de balão podem ser de linha única ou multilinha. Eles são criados e manipulados da mesma forma que as dicas de ferramentas padrão.

A posição padrão da haste e do retângulo é mostrada na ilustração a seguir. Se a ferramenta estiver muito perto da parte superior da tela, a dica de ferramenta aparecerá abaixo e à direita do retângulo da ferramenta. Se a ferramenta estiver muito próxima do lado direito da tela, princípios semelhantes se aplicam, mas a dica de ferramenta aparece à esquerda do retângulo da ferramenta.

captura de ecrã de uma caixa de diálogo; uma dica de ferramenta de balão com uma linha de texto aparece acima e à direita do de destino

Você pode alterar o posicionamento padrão definindo o sinalizador TTF_CENTERTIP no membro uFlags da estrutura TOOLINFO. Nesse caso, a haste normalmente aponta para o centro da borda inferior do retângulo da ferramenta, e o retângulo de texto é exibido diretamente abaixo da ferramenta. A haste se fixa ao retângulo de texto no centro da borda superior. Se a ferramenta estiver muito próxima da parte inferior da tela, o retângulo de texto será centralizado acima da ferramenta e a haste será conectada ao centro da borda inferior.

A ilustração a seguir mostra uma mensagem de ajuda centralizada na ferramenta.

captura de tela de uma caixa de diálogo; Uma dica de ferramenta de balão com uma linha de texto aparece centralizada abaixo do de destino

Se quiser especificar onde o ponteiro aponta, defina o sinalizador TTF_TRACK no membro uFlags da estrutura de dica de ferramenta TOOLINFO. Em seguida, especifique a coordenada enviando uma mensagem TTM_TRACKPOSITION, com as coordenadas x e y no valor lParam. Se TTF_CENTERTIP também estiver definida, a haste ainda apontará para a posição especificada pela mensagem TTM_TRACKPOSITION.

O que precisa de saber

Tecnologias

Pré-requisitos

  • C/C++
  • Programação da interface do usuário do Windows

Instruções

Implementar dicas de ferramentas estilo balão

O código de exemplo a seguir mostra como implementar um balão de dica de ferramenta centralizado usando o estilo de controle de dica de ferramenta TTS_BALLOON.

hwndToolTips = CreateWindow(TOOLTIPS_CLASS, NULL, 
                            WS_POPUP | TTS_NOPREFIX | TTS_BALLOON, 
                            0, 0, 0, 0, NULL, NULL, g_hinst, NULL);

if (hwndTooltip)
{
    TOOLINFO ti;

    ti.cbSize   = sizeof(ti);
    ti.uFlags   = TTF_TRANSPARENT | TTF_CENTERTIP;
    ti.hwnd     = hwnd;
    ti.uId      = 0;
    ti.hinst    = NULL;
    ti.lpszText = LPSTR_TEXTCALLBACK;

    GetClientRect(hwnd, &ti.rect);

    SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );

}
            

Usando controles de dica de ferramenta

Estilos de dicas de ferramenta