Hoe multiregelige tooltips te implementeren
Met knopinfo met meerdere regels kan tekst op meer dan één regel worden weergegeven.
Ze worden ondersteund door versie 4.70 en hoger van de algemene besturingselementen. Uw toepassing creëert een ToolTip met meerdere regels door een TTM_SETMAXTIPWIDTH-bericht te verzenden, waarbij u de breedte van de weergaverechthoek specificeert. Tekst die deze breedte overschrijdt, loopt terug naar de volgende regel in plaats van het weergavegebied breder te maken. De hoogte van de rechthoek wordt indien nodig verhoogd om ruimte te bieden aan de extra lijnen. Met het tooltipelement worden de regels automatisch afgebroken, of u kunt een combinatie van regelterugloop/en regelinvoertoets, \r\n, gebruiken om regeleinden bij specifieke locaties af te dwingen.
De resulterende weergave wordt weergegeven in de volgende afbeelding.
Notitie
De tekstbuffer die is opgegeven door de szText lid van de NMTTDISPINFO structuur mag maximaal 80 tekens bevatten. Als u een langere tekenreeks wilt gebruiken, wijst u de lpszText- lid van NMTTDISPINFO- aan een buffer met de gewenste tekst.
Wat u moet weten
Technologieën
Voorwaarden
- C/C++
- Programmeren van Windows-gebruikersinterface
Aanwijzingen
Tooltips met meerdere regels implementeren
Het volgende codefragment is een voorbeeld van een eenvoudige TTN_GETDISPINFO meldingshandler. Hiermee kunt u een tooltip met meerdere regels weergeven door de weergaverechthoek in te stellen op 150 pixels. Na het eerste woord wordt een handmatig regeleinde ingevoegd om aan te geven dat regeleinden hard en zacht kunnen zijn.
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;
}
Verwante onderwerpen