Condividi tramite


Barre di scorrimento flat

Microsoft Internet Explorer 4.0 ha introdotto una nuova tecnologia visiva denominata barre di scorrimento flat. Dal punto di vista funzionale, le barre di scorrimento flat si comportano esattamente come le barre di scorrimento standard. La differenza è che è possibile personalizzarne l'aspetto in misura maggiore rispetto alle barre di scorrimento standard.

La figura seguente mostra una finestra contenente una barra di scorrimento piatta.

screen shot of a window that contains a flat scroll bar

Nota

Le barre di scorrimento flat sono supportate da Comctl32.dll versioni da 4.71 a 5.82. Comctl32.dll versioni 6.00 e successive non supportano barre di scorrimento flat.

 

Uso delle barre di scorrimento flat

Questa sezione descrive come implementare barre di scorrimento flat nell'applicazione.

Prima di iniziare

Per usare le funzioni della barra di scorrimento flat, è necessario includere Commctrl.h nei file di origine e collegarsi a Comctl32.lib.

Aggiunta di barre di scorrimento flat a una finestra

Per aggiungere barre di scorrimento flat a una finestra, chiamare InitializeFlatSB, passando l'handle alla finestra. Anziché usare le funzioni standard della barra di scorrimento per modificare le barre di scorrimento, è necessario usare la funzione FlatSB_XXX equivalente. Sono disponibili funzioni barra di scorrimento flat per impostare e recuperare le informazioni di scorrimento, l'intervallo e la posizione. Se le barre di scorrimento flat non sono state inizializzate per la finestra, l'API della barra di scorrimento flat rinvierà alle funzioni standard corrispondenti, se presenti. In questo modo è possibile attivare e disattivare le barre di scorrimento flat senza dover scrivere codice condizionale.

Poiché un'applicazione può avere impostato metriche personalizzate per le barre di scorrimento flat, non vengono aggiornate automaticamente quando le metriche di sistema cambiano. Quando le metriche della barra di scorrimento di sistema cambiano, viene trasmesso un messaggio WM_edizione Standard TTINGCHANGE, con il relativo wParam impostato su SPI_edizione Standard TNONCLIENTMETRICS. Per aggiornare le barre di scorrimento flat alle nuove metriche di sistema, le applicazioni devono gestire questo messaggio e modificare in modo esplicito le proprietà dipendenti dalla metrica della barra di scorrimento flat.

Per aggiornare le proprietà della barra di scorrimento, usare FlatSB_SetScrollProp. Il frammento di codice seguente modifica le proprietà dipendenti della metrica di una barra di scorrimento flat in base ai valori di sistema correnti.

void FlatSB_UpdateMetrics(HWND hWnd)
{
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXVSCROLL, GetSystemMetrics(SM_CXVSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXHSCROLL, GetSystemMetrics(SM_CXHSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYVSCROLL, GetSystemMetrics(SM_CYVSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYHSCROLL, GetSystemMetrics(SM_CYHSCROLL), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CXHTHUMB, GetSystemMetrics(SM_CXHTHUMB), FALSE);
FlatSB_SetScrollProp(hWnd, WSB_PROP_CYVTHUMB, GetSystemMetrics(SM_CYVTHUMB), TRUE);
}

Miglioramento delle barre di scorrimento flat

FlatSB_SetScrollProp consente di modificare le barre di scorrimento flat per personalizzare l'aspetto della finestra. Per le barre di scorrimento verticali, è possibile modificare la larghezza della barra e l'altezza delle frecce di direzione. Per le barre di scorrimento orizzontali, è possibile modificare l'altezza della barra e la larghezza delle frecce di direzione. È anche possibile modificare il colore di sfondo delle barre di scorrimento orizzontali e verticali.

FlatSB_SetScrollProp consente anche di personalizzare la modalità di visualizzazione delle barre di scorrimento flat. Modificando le proprietà WSB_PROP_VSTYLE e WSB_PROP_HSTYLE, è possibile impostare il tipo di barra di scorrimento da usare. Sono disponibili tre stili.

Style Descrizione
FSB_ENCARTA_MODE Viene visualizzata una barra di scorrimento flat standard. Quando il mouse si sposta su un pulsante di direzione o il pollice, tale parte della barra di scorrimento verrà visualizzata in 3D.
FSB_FLAT_MODE Viene visualizzata una barra di scorrimento flat standard. Quando il mouse si sposta su un pulsante di direzione o il pollice, tale parte della barra di scorrimento verrà visualizzata in colori invertiti.
FSB_REGULAR_MODE Viene visualizzata una normale barra di scorrimento non gonfiata. Non verranno applicati effetti visivi speciali.

 

Rimozione delle barre di scorrimento flat

Se si desidera rimuovere barre di scorrimento flat dalla finestra, chiamare la funzione UninitializeFlatSB , passando l'handle alla finestra. Questa funzione rimuove solo le barre di scorrimento flat dalla finestra in fase di esecuzione. Non è necessario chiamare questa funzione quando la finestra viene eliminata definitivamente.