Toelichtingen voor knoppen weergeven
Wanneer u de stijl TBSTYLE_TOOLTIPS opgeeft, maakt en beheert de werkbalk een tooltip-besturingselement. Het besturingselement knopinfo is verborgen en wordt alleen weergegeven wanneer gebruikers de aanwijzer over een werkbalkknop verplaatsen en deze daar ongeveer één seconde laten staan.
Uw toepassing kan op een van de volgende manieren tekst aan de tooltip toevoegen:
- Stel de tooltiptekst in als het iString- lid van de TBBUTTON structuur voor elke knop. U moet ook een TB_SETMAXTEXTROWS bericht verzenden en de maximumtekstrijen op 0 instellen, zodat de tekst niet als knoplabel, maar als tooltip wordt weergegeven.
- Maak de werkbalk met de TBSTYLE_LIST stijl en stel vervolgens de uitgebreide stijl van de TBSTYLE_EX_MIXEDBUTTONS in. Labels worden alleen weergegeven voor knoppen met de stijl BTNS_SHOWTEXT. Voor knoppen die deze stijl niet hebben, wordt een tooltip getoond die de knoptekst bevat.
- Reageer op de TTN_GETDISPINFO meldingscode.
- Reageer op de TBN_GETINFOTIP meldingscode.
Een toepassing die berichten rechtstreeks naar de tooltip controle moet verzenden, kan de handle naar de controle verkrijgen met behulp van het TB_GETTOOLTIPS bericht. Een toepassing kan het tooltip-besturingselement van een werkbalk vervangen door een ander tooltip-besturingselement met behulp van het TB_SETTOOLTIPS bericht.
De meest flexibele manier om tooltiptekst op te geven, is door te reageren op de TTN_GETDISPINFO of TBN_GETINFOTIP meldingscode die door het werkbalkbesturingselement naar het ouderbesturingselement wordt verzonden in de vorm van een WM_NOTIFY bericht. Voor TTN_GETDISPINFObevat de parameter lParam een aanwijzer naar een NMTTDISPINFO structuur (ook gedefinieerd als LPTOOLTIPTEXT) waarmee de opdracht-id wordt opgegeven van de knop waarvoor Help-tekst nodig is. Deze id bevindt zich in het NMTTDISPINFO.hdr.idFrom lid. Een toepassing kan de Help-tekst naar de structuur kopiëren, het adres opgeven van een tekenreeks die de Help-tekst bevat, of de instantiegreep en resource-id van een tekenreeksresource opgeven.
Wat u moet weten
Technologieën
Voorwaarden
- C/C++
- Programmeren van Windows-gebruikersinterface
Aanwijzingen
Een tooltip voor een knop weergeven
In de volgende voorbeeldcode wordt de tooltip-meldingscode voor TTN_GETDISPINFO verwerkt door tekst vanuit resource-ID's op te geven.
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;
Verwante onderwerpen