Classe di CWaitCursor
Fornisce una modalità di una riga mostrare un cursore di attesa, in genere visualizzata come una clessidra, mentre si sta eseguendo un'operazione lunga.
class CWaitCursor
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto CWaitCursor e visualizzare il cursore di attesa. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Ripristina il cursore di attesa dopo che è stato modificato. |
Note
CWaitCursor non dispone di una classe base.
Le procedure di programmazione ottimali di Windows richiedono visualizzato un cursore di attesa ogni volta che si esegue un'operazione che richiede un tempo significativa.
Per visualizzare un cursore di attesa, definire una variabile CWaitCursor prima del codice che esegue un'operazione di lunga durata.Il costruttore di un oggetto determina automaticamente il cursore di attesa a essere visualizzato.
Quando l'oggetto area di validità (alla fine del blocco in cui l'oggetto CWaitCursor viene dichiarato), il relativo distruttore imposta il cursore nel punto precedente.Ovvero l'oggetto esegue la pulitura necessarie automaticamente.
[!NOTA]
A causa dei costruttori e i distruttori, oggetti CWaitCursor vengono dichiarati sempre come variabili locali e di non vengono dichiarati mai come variabili globali e non sono hanno allocato con new.
Se si esegue un'operazione che potrebbe causare il cursore a essere modificato, come visualizzare una finestra di messaggio o la finestra di dialogo, chiamare la funzione membro Ripristina per ripristinare il cursore di attesa.È possibile chiamare Ripristina anche quando un cursore di attesa attualmente visualizzate.
Un altro modo per visualizzare un cursore di attesa è utilizzare la combinazione CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursored eventualmente CCmdTarget::RestoreWaitCursor.Tuttavia, CWaitCursor è più facile da utilizzare in quanto non è necessario impostare il punto di inserimento in corrispondenza precedente al termine di un'operazione di lunga durata.
[!NOTA]
Set e ripristinare MFC il cursore utilizzando la funzione virtuale CWinApp::DoWaitCursor.È possibile eseguire l'override di questa funzione per fornire il comportamento personalizzato.
Gerarchia di ereditarietà
CWaitCursor
Requisiti
Intestazione: afxwin.h
Esempio
BOOL SomeLengthyProcess()
{
CWaitCursor wait;
//Do the lengthy processing.
Sleep(1000);
AfxMessageBox(_T("Some result")); //This changes the cursor.
wait.Restore(); //Restore the Wait cursor.
//Continue Processing.
Sleep(1000);
//The destructor changes the cursor back to Regular cursor.
return TRUE;
}
Vedere anche
Riferimenti
Altre risorse
Ricerca di categorie: Modificare il cursore del mouse in un'applicazione MFC?