Come implementare descrizioni comando su più righe
Le descrizioni comando su più righe consentono di visualizzare il testo su più righe.
Sono supportate dalla versione 4.70 e successive dei controlli comuni. L'applicazione crea una descrizione comando su più righe inviando un messaggio TTM_edizione Standard TMAXTIPWIDTH, specificando 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 descrizione comando esegue automaticamente il wrapping delle righe oppure è possibile utilizzare una combinazione di ritorno a capo/avanzamento riga, \r\n, per forzare interruzioni di riga in determinate posizioni.
La visualizzazione risultante è illustrata nella figura seguente.
Nota
Il buffer di testo specificato dal membro szText della struttura NMTTDISPINFO può contenere solo 80 caratteri. Se è necessario usare una stringa più lunga, puntare il membro lpszText di NMTTDISPINFO a un buffer contenente il testo desiderato.
Informazioni importanti
Tecnologie
Prerequisiti
- C/C++
- Programmazione dell'interfaccia utente di Windows
Istruzioni
Implementare descrizioni comando su più righe
Il frammento di codice seguente è un esempio di un gestore di notifica TTN_GETDISPINFO semplice. Abilita una descrizione comando 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 difficili 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;
}
Argomenti correlati