Condividi tramite


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

wc7bzytb.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

CWaitCursor::CWaitCursor

Costruisce un oggetto CWaitCursor e visualizzare il cursore di attesa.

wc7bzytb.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CWaitCursor::Restore

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

Grafico della gerarchia

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Altre risorse

Ricerca di categorie: Modificare il cursore del mouse in un'applicazione MFC?