Condividi tramite


Come implementare strumenti di suggerimento su più righe

Le descrizioni comando multilinea consentono di visualizzare il testo su più righe.

Sono supportati da versione 4.70 e successive dei controlli comuni. L'applicazione crea un tooltip su più righe inviando un messaggio TTM_SETMAXTIPWIDTH, che specifica la larghezza del rettangolo di visualizzazione. Il testo che supera questa larghezza viene disposto alla riga successiva anziché ampliare l'area di visualizzazione. L'altezza del rettangolo viene aumentata in base alle esigenze per contenere le linee aggiuntive. Il controllo tooltip avvolge automaticamente le righe, oppure è possibile utilizzare una combinazione di ritorno a capo, \r\n, per spezzare le righe in determinate posizioni.

La visualizzazione risultante è illustrata nella figura seguente.

schermata di una finestra di dialogo con una descrizione comando contenente testo disposto come un paragrafo a più righe

Nota

Il buffer di testo specificato dal membro szText della strutturaNMTTDISPINFOpuò contenere solo 80 caratteri. Se è necessario usare una stringa più lunga, puntare il membro lpszText di NMTTDISPINFO a un buffer contenente il testo desiderato.

 

Cosa è necessario sapere

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Disposizioni

Implementare suggerimenti su più righe

Il frammento di codice seguente è un esempio di un gestore di notifica TTN_GETDISPINFO semplice. Abilita un tooltip su più righe impostando il rettangolo di visualizzazione su 150 pixel. Un'interruzione di riga manuale viene inserita dopo la prima parola per mostrare che le interruzioni di riga possono essere rigide e morbide.

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

Uso di Controlli Tooltip