CWaitCursor

CWaitCursor non ha una classe base.

La classe CWaitCursor fornisce un modo di una riga per mostrare un cursore di attesa, di solito viene visualizzato come una clessidra, mentre si sta facendo un'operazione lunga durata. Windows buone pratiche di programmazione richiedono che visualizzare un cursore di attesa ogni volta che si sta eseguendo un'operazione che richiede una notevole quantità di tempo.

Per visualizzare un cursore di attesa, basta definire una variabile di CWaitCursor prima del codice che esegue l'operazione di lunga durata. Il costruttore dell'oggetto provoca automaticamente il cursore di attesa essere visualizzati.

Quando l'oggetto esce dall'ambito (alla fine del blocco in cui l'oggetto CWaitCursor è dichiarata), relativo distruttore imposta il cursore al cursore precedente. In altre parole, l'oggetto esegue il necessario risanamento automaticamente.

&Notanbsp;  Causa di come loro costruttori e distruttori lavoro, CWaitCursor oggetti vengono sempre dichiarati come variabili locali — non stai mai dichiarati come variabili globali, né allocati con il nuovo.

Se si esegue un'operazione che potrebbe causare il cursore per essere modificato, ad esempio la visualizzazione di una finestra di messaggio o nella finestra di dialogo, chiamare la funzione membro ripristinare per ripristinare il cursore di attesa. È bene chiamare ripristinare anche quando un cursore di attesa è attualmente visualizzato.

Un altro modo per visualizzare un cursore di attesa deve utilizzare la combinazione di CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursore forse CCmdTarget::RestoreWaitCursor. Tuttavia, è più facile da usare, poiché non è necessario impostare il cursore al cursore precedente quando hai finito con l'operazione di lunga durata CWaitCursor.

&Notanbsp;  MFC imposta e ripristina il cursore tramite la funzione virtuale CWinApp::DoWaitCursor . È possibile eseguire l'override di questa funzione per fornire un comportamento personalizzato.

# include lt;afxwin.h>

Membri della classeGerarchia Chart

Vedere a&nchenbsp;CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor, CCmdTarget::RestoreWaitCursor, CWinApp::DoWaitCursor

Index