Come implementare i suggerimenti a comparsa a forma di balloon
Le descrizioni comando balloon sono simili alle descrizioni comando standard, ma vengono visualizzate in un fumetto "balloon" con un gambo che punta allo strumento. Le descrizioni comando balloon possono essere a riga singola o su più righe. Vengono creati e gestiti in modo analogo alle descrizioni comando standard.
La posizione predefinita dello stelo e del rettangolo è illustrata nella figura seguente. Se lo strumento è troppo vicino alla parte superiore dello schermo, la descrizione comando viene visualizzata sotto e a destra del rettangolo dello strumento. Se lo strumento è troppo vicino al lato destro dello schermo, si applicano principi simili, ma la descrizione comandi viene visualizzata a sinistra del rettangolo dello strumento.
È possibile modificare il posizionamento predefinito impostando il flag TTF_CENTERTIP nel membro uFlags del tooltip della struttura TOOLINFO. In tal caso, lo stelo punta normalmente al centro del bordo inferiore del rettangolo dello strumento e il rettangolo di testo viene visualizzato direttamente sotto lo strumento. Lo stelo si collega al rettangolo di testo al centro del bordo superiore. Se lo strumento è troppo vicino alla parte inferiore dello schermo, il rettangolo di testo viene centrato sopra lo strumento e lo stelo si collega al centro del bordo inferiore.
La figura seguente mostra una descrizione comando centrata sullo strumento.
di destinazione
Se si desidera specificare dove puntano gli steli, impostare il flag di TTF_TRACK nel uFlags membro della descrizione comando struttura TOOLINFO. Specificare quindi la coordinata inviando un messaggio di TTM_TRACKPOSITION, con le coordinate x e y nel valore lParam. Se anche TTF_CENTERTIP è impostato, lo stelo punta comunque alla posizione specificata dal messaggio TTM_TRACKPOSITION.
Cosa è necessario sapere
Tecnologie
Prerequisiti
- C/C++
- Programmazione dell'interfaccia utente di Windows
Disposizioni
Implementare descrizioni comando balloon
Nel codice di esempio seguente viene illustrato come implementare un fumetto centrato della descrizione comando utilizzando lo stile di controllo TTS_BALLOON.
hwndToolTips = CreateWindow(TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_BALLOON,
0, 0, 0, 0, NULL, NULL, g_hinst, NULL);
if (hwndTooltip)
{
TOOLINFO ti;
ti.cbSize = sizeof(ti);
ti.uFlags = TTF_TRANSPARENT | TTF_CENTERTIP;
ti.hwnd = hwnd;
ti.uId = 0;
ti.hinst = NULL;
ti.lpszText = LPSTR_TEXTCALLBACK;
GetClientRect(hwnd, &ti.rect);
SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti );
}
Argomenti correlati