Delen via


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.

schermafbeelding van een dialoogvenster met een tooltip die tekst bevat gerangschikt als een alinea met meerdere regels

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

Tooltip-bedieningselementen gebruiken