Sdílet prostřednictvím


Implementace víceřádkových nástrojových tipů

Víceřádkové popisy umožňují zobrazení textu na více než jednom řádku.

Podporují je verze 4.70 a novější běžné ovládací prvky. Aplikace vytvoří víceřádkový popis odesláním TTM_SETMAXTIPWIDTH zprávy, která určuje šířku obdélníku zobrazení. Text, který tuto šířku přesahuje, se místo rozšíření oblasti zobrazení zalamuje na další řádek. Výška obdélníku se podle potřeby zvýší tak, aby pojmula další řádky. Ovládací prvek popisku zabalí čáry automaticky nebo můžete použít kombinaci návratového řádku nebo odřádkování, \r\n, k vynucení konců řádků v určitých umístěních.

Výsledné zobrazení je znázorněno na následujícím obrázku.

snímek obrazovky dialogového okna s jednoduchým popisovým rámečkem, který obsahuje text uspořádaný jako víceřádkový odstavec

Poznámka

Textová vyrovnávací paměť určená členem szText struktury NMTTDISPINFO může obsahovat pouze 80 znaků. Pokud potřebujete použít delší řetězec, nasměrujte člena lpszText struktury NMTTDISPINFO na vyrovnávací paměť obsahující požadovaný text.

 

Co potřebujete vědět

Technologie

Požadavky

  • C/C++
  • Programování uživatelského rozhraní systému Windows

Instrukce

Implementace víceřádkových popisků

Následující fragment kódu je příkladem jednoduché obslužné rutiny oznámení TTN_GETDISPINFO. Umožňuje víceřádkový popis nastavením obdélníku zobrazení na 150 pixelů. Ručně zadaný konec řádku se vloží za první slovo, aby bylo vidět, že konce řádků můžou být pevné i volné.

    case WM_NOTIFY:
    {
        switch (((LPNMHDR)lParam)->code)
        {
        case TTN_GETDISPINFO:
            LPNMTTDISPINFO pInfo = (LPNMTTDISPINFO)lParam;
            SendMessage(pInfo->hdr.hwndFrom, TTM_SETMAXTIPWIDTH, 0, 150);
            wcscpy_s(pInfo->szText, ARRAYSIZE(pInfo->szText), 
                L"This\nis a very long text string " \
                L"that must be broken into several lines.");
            break;
        }
        break;
    }

použití nástrojových rad