Condividi tramite


Informazioni sui controlli indicatore di stato

Un indicatore di stato è una finestra che un'applicazione può usare per indicare lo stato di avanzamento di un'operazione lunga.

È costituito da un rettangolo animato durante l'avanzamento di un'operazione.

La figura seguente mostra un indicatore di stato che non usa gli stili di visualizzazione.

screen shot of a progress bar that adds rectangles in a line to indicate progress

La figura seguente mostra una barra di stato utilizzando gli stili di visualizzazione. L'aspetto del controllo varia a seconda del sistema operativo e del tema selezionato. Per altre informazioni, vedere Stili di visualizzazione.

screen shot of a progress bar that lengthens an animated green rectangle to indicate progress

Altre informazioni sono contenute nelle intestazioni seguenti.

Uso delle barre di stato

È possibile creare un indicatore di stato usando la funzione CreateWindowEx, specificando la classe finestra PROGRESS_CLASS. Questa classe finestra viene registrata quando viene caricata la DLL dei controlli comuni. Per altre informazioni, vedere Informazioni sui controlli comuni.

Il controllo è disponibile anche nella casella degli strumenti di Microsoft Visual Studio, dove si chiama Controllo stato.

Intervallo e posizione corrente

L'intervallo di un indicatore di stato rappresenta l'intera durata dell'operazione e la posizione corrente rappresenta lo stato di avanzamento dell'applicazione verso il completamento dell'operazione. La routine della finestra utilizza l'intervallo e la posizione corrente per determinare la percentuale della barra di stato da riempire con il colore di evidenziazione.

Se non si impostano i valori dell'intervallo, il sistema imposta il valore minimo su 0 e il valore massimo su 100. È possibile modificare l'intervallo in valori interi pratici usando il messaggio PBM_edizione Standard TRANGE.

Un indicatore di stato fornisce diversi messaggi che è possibile usare per impostare la posizione corrente. Il messaggio PBM_edizione Standard TPOS imposta la posizione su un determinato valore. Il messaggio PBM_DELTAPOS avanza la posizione aggiungendo un valore specificato alla posizione corrente.

Il messaggio PBM_edizione Standard TSTEP consente di specificare un incremento di passaggio per un indicatore di stato. Successivamente, ogni volta che si invia il messaggio di PBM_STEPIT all'indicatore di stato, la posizione corrente avanza in base all'incremento specificato. Per impostazione predefinita, l'incremento del passaggio è impostato su 10.

Elaborazione messaggi barra di stato predefinita

In questa sezione vengono descritti i messaggi gestiti dalla routine della finestra per la classe PROGRESS_CLASS.

Message Elaborazione eseguita
WM_CREATE Alloca e inizializza una struttura iniziale.
WM_DESTROY Libera tutte le risorse associate all'indicatore di stato.
WM_ERAedizione Standard BKGND Disegna lo sfondo e i bordi dell'indicatore di stato.
WM_GETFONT Restituisce l'handle al tipo di carattere corrente. L'indicatore di stato non disegna attualmente il testo, pertanto l'invio di questo messaggio non ha alcun effetto sul controllo.
WM_PAINT Disegna l'indicatore di stato. Se il parametro wParam è diverso da NULL, il controllo presuppone che il valore sia un HDC e disegna utilizzando tale contesto di dispositivo.
WM_edizione Standard TFONT Salva l'handle nel nuovo tipo di carattere e restituisce l'handle al tipo di carattere precedente. L'indicatore di stato non disegna attualmente il testo, pertanto l'invio di questo messaggio non ha alcun effetto sul controllo.

 

Stile marquee

Creando il controllo indicatore di stato con lo stile PBS_MARQUedizione Enterprise, è possibile animarlo in modo da visualizzare l'attività, ma non indica la percentuale di completamento dell'attività. La parte evidenziata dell'indicatore di stato si sposta ripetutamente lungo la lunghezza della barra. Puoi avviare e arrestare l'animazione e controllarne la velocità inviando il messaggio PBM_edizione Standard TMARQU edizione Enterprise. Le barre di stato del riquadro di selezione non hanno un intervallo o una posizione.

La figura seguente mostra un indicatore di stato in modalità di selezione. La parte evidenziata si sposta sulla barra.

screen shot of a progress bar that moves a green highlight across a gray rectangle to indicate progress