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 em um "balão" estilo desenho animado com uma haste apontando 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 maneira 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 perto do lado direito da tela, princípios semelhantes se aplicam, mas a dica de ferramenta aparece à esquerda do retângulo da ferramenta.

screen shot of a dialog box; a balloon tooltip with one line of text appears above and to the right of the target

Você pode alterar o posicionamento padrão definindo o sinalizador TTF_CENTERTIP no membro uFlags da estrutura TOOLINFO da dica de ferramenta. 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 prende 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á anexada ao centro da borda inferior.

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

screen shot of a dialog box; a balloon tooltip with one line of text appears centered below the target

Se você quiser especificar onde a haste aponta, defina o sinalizador TTF_TRACK no membro uFlags da estrutura TOOLINFO da dica de ferramenta. 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 definido, a haste ainda apontará para a posição especificada pela mensagem TTM_TRACKPOSITION.

O que você precisa saber

Tecnologias

Pré-requisitos

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

Instruções

Implementar dicas de ferramentas de balão

O código de exemplo a seguir mostra como implementar uma dica de ferramenta de balão 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 dica de ferramenta