Dela via


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.

skärmbild av en dialogruta; en pratbubbla med knappbeskrivning med en textrad visas ovanför och till höger om målobjektet

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.

skärmbild av en dialogruta; en pratbubbla med en textrad visas centrerad under målet

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 );

}
            

Verktygstipskontroller

Verktygstipsformat