Så implementerar du ballongverktygstips
Verktygstips i ballongformat liknar standardverktygstips, men visas i en tecknad "ballong" med en linje som pekar på verktyget. Ballongverktygstips kan vara antingen enradiga eller flerlinjiga. De skapas och hanteras på ungefär samma sätt som standardverktygstips.
Standardpositionen för stammen och rektangeln visas i följande bild. Om verktyget är för nära överst på skärmen visas knappbeskrivningen nedan och till höger om verktygets rektangel. Om verktyget är för nära höger sida av skärmen gäller samma principer, men knappbeskrivningen visas till vänster om verktygets rektangel.
Du kan ändra standardplaceringen genom att ange flaggan TTF_CENTERTIP i medlemmen uFlags för verktygstips TOOLINFO struktur. I så fall pekar stammen normalt mot mitten av den nedre kanten av verktygets rektangel, och textrektangeln visas direkt under verktyget. Stammen ansluter till textrektangeln i mitten av den övre kanten. Om verktyget är för nära skärmens nederkant centreras textrektangeln ovanför verktyget och skaftet kopplas till mitten av den nedre kanten.
Följande bild visar en knappbeskrivning som är centrerad på verktyget.
Om du vill ange vart stammens riktning ska peka, ställ in flaggan TTF_TRACK i uFlags medlem av tooltipens TOOLINFO struktur. Sedan anger du koordinaten genom att skicka ett TTM_TRACKPOSITION meddelande med x- och y-koordinaterna i värdet lParam. Om TTF_CENTERTIP också anges pekar stammen fortfarande på den position som anges av TTM_TRACKPOSITION-meddelandet.
Vad du behöver veta
Teknologier
Förutsättningar
- C/C++
- Programmering av Windows-användargränssnitt
Instruktioner
Implementera verktygstips i ballongform
Följande exempelkod visar hur du implementerar en centrerad ballongknappbeskrivning med hjälp av TTS_BALLOON knappbeskrivningskontrollformat.
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 );
}
Relaterade ämnen