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.
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;
}
Související témata