Hur man visar verktygstips för knappar
När du anger stilen TBSTYLE_TOOLTIPS skapar och hanterar verktygsfältet en verktygstipskontroll. Knappbeskrivningskontrollen är dold och visas bara när användarna flyttar pekaren över en verktygsfältsknapp och lämnar den där i ungefär en sekund.
Ditt program kan ange text till knappbeskrivningskontrollen på något av följande sätt:
- Ange knappbeskrivningstexten som iString-medlem i strukturen för TBBUTTON för varje knapp. Du måste också skicka ett TB_SETMAXTEXTROWS meddelande och ange maximalt antal textrader till 0, så att texten inte visas som knappetikett i stället för som en knappbeskrivning.
- Skapa verktygsfältet med formatmallen TBSTYLE_LIST och ange sedan TBSTYLE_EX_MIXEDBUTTONS utökad formatmall. Etiketter visas endast för knappar som har BTNS_SHOWTEXT formatmall. För knappar som inte har det här formatet visas en knappbeskrivning som innehåller knapptexten.
- Svar på TTN_GETDISPINFO meddelandekoden.
- Svara på TBN_GETINFOTIP-meddelandekoden.
Ett program som behöver skicka meddelanden direkt till verktygstipskontrollen kan hämta referensen till kontrollen med hjälp av TB_GETTOOLTIPS meddelandet. Ett program kan ersätta ett verktygsfälts knappbeskrivningskontrollelement med ett annat knappbeskrivningskontrollelement med hjälp av TB_SETTOOLTIPS meddelande.
Det mest flexibla sättet att tillhandahålla verktygstips är att svara på TTN_GETDISPINFO eller TBN_GETINFOTIP meddelandekoden som skickas av verktygsfältskontrollen till dess förälder i form av ett WM_NOTIFY meddelande. För TTN_GETDISPINFOinnehåller parametern lParam en pekare till en NMTTDISPINFO- struktur (även definierad som LPTOOLTIPTEXT) som anger kommandoidentifieraren för knappen som hjälptexten behövs för. Den här identifieraren finns i medlemmen NMTTDISPINFO.hdr.idFrom. Ett program kan kopiera hjälptexten till strukturen, ange adressen till en sträng som innehåller hjälptexten eller ange instanshandtaget och resursidentifieraren för en strängresurs.
Vad du behöver veta
Teknologier
Förutsättningar
- C/C++
- Programmering av Windows-användargränssnitt
Instruktioner
Visa ett verktygstips för en knapp
Följande exempelkod hanterar TTN_GETDISPINFO verktygstipsmeddelandekod genom att tillhandahålla text från resursidentifierare.
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;
Relaterade ämnen