Cómo implementar información sobre herramientas de varias líneas
La información sobre herramientas de varias líneas permite mostrar texto en más de una línea.
Son compatibles con la versión 4.70 y posteriores de los controles comunes. La aplicación crea una información sobre herramientas de varias líneas enviando un mensaje de TTM_SETMAXTIPWIDTH , especificando el ancho del rectángulo de presentación. El texto que supera este ancho se ajusta a la línea siguiente en lugar de ampliar la región de presentación. El alto del rectángulo se incrementa según sea necesario para acomodar las líneas adicionales. El control de información sobre herramientas ajusta las líneas automáticamente, o bien puede usar una combinación de retorno de carro/avance de línea, \r\n, para forzar saltos de línea en determinadas ubicaciones.
La presentación resultante se muestra en la ilustración siguiente.
Nota
El búfer de texto especificado por el miembro szText de la estructura NMTTDISPINFO solo puede alojar 80 caracteres. Si necesita usar una cadena más larga, apunte el miembro lpszText de NMTTDISPINFO a un búfer que contenga el texto deseado.
Lo que necesita saber
Tecnologías
Requisitos previos
- C/C++
- Programación de la interfaz de usuario de Windows
Instrucciones
Implementación de la información sobre herramientas de varias líneas
El fragmento de código siguiente es un ejemplo de un controlador de notificaciones de TTN_GETDISPINFO simple. Habilita una información sobre herramientas de varias líneas estableciendo el rectángulo de presentación en 150 píxeles. Se inserta un salto de línea manual después de la primera palabra para mostrar que los saltos de línea pueden ser duros, así como suaves.
case WM_NOTIFY:
{
switch (((LPNMHDR)lParam)->code)
{
case TTN_GETDISPINFO:
LPNMTTDISPINFO pInfo = (LPNMTTDISPINFO)lParam;
SendMessage(pInfo->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 150);
wcscpy_s(pInfo->szText, ARRAYSIZE(pInfo->szText),
L"This\nis a very long text string " \
L"that must be broken into several lines.");
break;
}
break;
}
Temas relacionados