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.
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.
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 );
}
Temas relacionados