Cómo mostrar información sobre herramientas para botones
Al especificar el estilo TBSTYLE_TOOLTIPS , la barra de herramientas crea y administra un control de información sobre herramientas. El control de información sobre herramientas está oculto y solo aparece cuando los usuarios mueven el puntero sobre un botón de barra de herramientas y lo dejan allí durante aproximadamente un segundo.
La aplicación puede proporcionar texto al control de información sobre herramientas de cualquiera de las siguientes maneras:
- Establezca el texto de información sobre herramientas como el miembro iString de la estructura TBBUTTON para cada botón. También debe enviar un mensaje de TB_SETMAXTEXTROWS y establecer las filas de texto máximas en 0, de modo que el texto no aparezca como etiqueta de botón en lugar de como información sobre herramientas.
- Cree la barra de herramientas con el estilo TBSTYLE_LIST y, a continuación, establezca el estilo extendido TBSTYLE_EX_MIXEDBUTTONS . Las etiquetas solo se muestran para los botones que tienen el estilo BTNS_SHOWTEXT . Para los botones que no tienen este estilo, se muestra una información sobre herramientas que contiene el texto del botón.
- Responda al código de notificación de TTN_GETDISPINFO .
- Responda al código de notificación de TBN_GETINFOTIP .
Una aplicación que necesita enviar mensajes directamente al control de información sobre herramientas puede recuperar el identificador del control mediante el TB_GETTOOLTIPS mensaje. Una aplicación puede reemplazar el control de información sobre herramientas de una barra de herramientas por otro control de información sobre herramientas mediante el mensaje TB_SETTOOLTIPS .
La manera más flexible de proporcionar texto de información sobre herramientas es responder al código de notificación TTN_GETDISPINFO o TBN_GETINFOTIP enviado por el control de barra de herramientas a su elemento primario en forma de mensaje de WM_NOTIFY . Para TTN_GETDISPINFO, el parámetro lParam incluye un puntero a una estructura NMTTDISPINFO (también definida como LPTOOLTIPTEXT) que especifica el identificador de comando del botón para el que se necesita texto de Ayuda. Este identificador está en el miembro NMTTDISPINFO.hdr.idFrom . Una aplicación puede copiar el texto de la Ayuda en la estructura, especificar la dirección de una cadena que contiene el texto de la Ayuda o especificar el identificador de instancia y el identificador de recurso de un recurso de cadena.
Lo que necesita saber
Tecnologías
Requisitos previos
- C/C++
- Programación de la interfaz de usuario de Windows
Instrucciones
Mostrar información sobre herramientas para un botón
El código de ejemplo siguiente controla el código de notificación de información sobre herramientas de TTN_GETDISPINFO proporcionando texto de identificadores de recursos.
case WM_NOTIFY:
switch (((LPNMHDR) lParam)->code)
{
case TTN_GETDISPINFO:
{
LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam;
// Set the instance of the module that contains the resource.
lpttt->hinst = g_hInst;
UINT_PTR idButton = lpttt->hdr.idFrom;
switch (idButton)
{
case IDM_NEW:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW);
break;
case IDM_OPEN:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN);
break;
case IDM_SAVE:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE);
break;
}
break;
}
}
return TRUE;
Temas relacionados