Megosztás a következőn keresztül:


Hogyan kell a Balloon tooltip-eket implementálni

A ballon elemleírások hasonlóak a szokásos elemleírásokhoz, de egy rajzfilm stílusú "ballonban" jelennek meg, amelynek szára az eszközre mutat. A ballon elemleírások lehetnek egysorosak vagy többsorosak. Ezek létrehozása és kezelése ugyanúgy történik, mint a standard tooltipok.

A szár és a téglalap alapértelmezett pozíciója az alábbi ábrán látható. Ha az eszköz túl közel van a képernyő tetejéhez, a súgó buborék az eszköz téglalapjának jobb oldalán és alatt jelenik meg. Ha az eszköz túl közel van a képernyő jobb oldalához, hasonló alapelvek érvényesek, de az elemleírás az eszköz téglalapjának bal oldalán jelenik meg.

párbeszédpanel képernyőképe; a cél fölött és jobb oldalán megjelenik egy egysoros szöveget tartalmazó buborék súgó

Az alapértelmezett pozicionálás módosításához állítsa be a TTF_CENTERTIP jelölőt az uFlags mezőjében a TOOLINFO szerkezetben. Ebben az esetben a szár általában az eszköz téglalapjának alsó szélének közepére mutat, és a szöveg téglalapja közvetlenül az eszköz alatt jelenik meg. A szár a felső szél közepén lévő szöveg téglalaphoz csatlakozik. Ha az eszköz túl közel van a képernyő aljára, a szöveg téglalapja középre van helyezve az eszköz felett, és a szár az alsó szél közepéhez csatlakozik.

Az alábbi ábrán az eszközön középre helyezett eszköztipp látható.

párbeszédpanel képernyőképe; a cél alatt megjelenik egy sor szöveget tartalmazó buborék-tipp

Ha meg szeretné adni, hogy merre mutat a szár, állítsa be a TTF_TRACK jelölőt az uFlags tagban az eszköztipp TOOLINFO struktúrájában. A koordinátát ezután egy TTM_TRACKPOSITION üzenet küldésével adhatja meg, az x és az y koordinátákkal az lParam értékben. Ha TTF_CENTERTIP is be van állítva, a szár továbbra is a TTM_TRACKPOSITION üzenet által megadott pozícióra mutat.

Amit tudnia kell

Technológiák

Előfeltételek

  • C/C++
  • Windows felhasználói felület programozása

Előírás

Ballon elemleírások implementálása

Az alábbi példakód bemutatja, hogyan lehet középre igazított ballon súgót létrehozni a TTS_BALLOON súgó vezérlőstílusának használatával.

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

}
            

Elemleírás-vezérlők használata

Tooltip stílusok