Cómo implementar información sobre herramientas de globo

La información sobre herramientas de globo es similar a la información sobre herramientas estándar, pero se muestran en un "globo" de estilo animado con un tallo que apunta a la herramienta. La información sobre herramientas de globo puede ser de una sola línea o de varias líneas. Se crean y controlan de la misma manera que la información sobre herramientas estándar.

La posición predeterminada del tallo y el rectángulo se muestra en la ilustración siguiente. Si la herramienta está demasiado cerca de la parte superior de la pantalla, la información sobre herramientas aparece debajo y a la derecha del rectángulo de la herramienta. Si la herramienta está demasiado cerca del lado derecho de la pantalla, se aplican principios similares, pero la información sobre herramientas aparece a la izquierda del rectángulo de la herramienta.

captura de pantalla de un cuadro de diálogo; Una información sobre herramientas de globo con una línea de texto aparece encima y a la derecha del destino

Puede cambiar el posicionamiento predeterminado estableciendo la marca TTF_CENTERTIP en el miembro uFlags de la estructura TOOLINFO de la información sobre herramientas. En ese caso, el tallo normalmente apunta al centro del borde inferior del rectángulo de la herramienta y el rectángulo de texto se muestra directamente debajo de la herramienta. El tallo se adjunta al rectángulo de texto en el centro del borde superior. Si la herramienta está demasiado cerca de la parte inferior de la pantalla, el rectángulo de texto se centra sobre la herramienta y el tallo se adjunta al centro del borde inferior.

En la ilustración siguiente se muestra una información sobre herramientas centrada en la herramienta.

captura de pantalla de un cuadro de diálogo; Una información sobre herramientas de globo con una línea de texto aparece centrada debajo del destino

Si desea especificar dónde están los puntos de tallo, establezca la marca TTF_TRACK en el miembro uFlags de la estructura TOOLINFO de la información sobre herramientas. A continuación, especifique la coordenada mediante el envío de un mensaje de TTM_TRACKPOSITION , con las coordenadas x e y en el valor lParam . Si también se establece TTF_CENTERTIP, el tallo sigue apuntando a la posición especificada por el mensaje TTM_TRACKPOSITION .

Lo que necesita saber

Tecnologías

Requisitos previos

  • C/C++
  • Programación de la interfaz de usuario de Windows

Instrucciones

Implementación de información sobre herramientas de globo

En el código de ejemplo siguiente se muestra cómo implementar una información sobre herramientas de globo centrada mediante el estilo de control de información sobre herramientas de 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 );

}
            

Uso de controles de información sobre herramientas

Estilos de información sobre herramientas