Partager via


CWaitCursor, classe

Permet d'un- ligne d'afficher un curseur d'attente, qui est généralement affichée comme un sablier, alors que vous effectuez une longue opération.

class CWaitCursor

Membres

Constructeurs publics

Nom

Description

CWaitCursor::CWaitCursor

Construit un objet d' CWaitCursor et affiche le curseur d'attente.

Méthodes publiques

Nom

Description

CWaitCursor::Restore

Restaure le curseur d'attente après qu'il a été modifié.

Notes

CWaitCursor n'a pas de classe de base.

Les bonnes fenêtres programmation des méthodes requièrent que vous affichez un curseur d'attente chaque fois que vous exécutez une opération qui prend beaucoup de temps.

Pour afficher un curseur d'attente, définissez uniquement une variable d' CWaitCursor avant le code qui exécute une longue opération. Le constructeur de l'objet entraîne automatiquement le curseur d'attente à afficher.

Lorsque l'objet est hors de portée (à la fin de le bloc dans lequel l'objet d' CWaitCursor est déclaré), son destructeur place le curseur au curseur précédent. En d'autres termes, l'objet exécute un nettoyage nécessaire automatiquement.

Notes

En raison de la façon dont leurs constructeurs et les destructeurs, les objets d' CWaitCursor sont toujours déclarés en tant que variables locales (ils ne sont jamais déclarés comme variables globales sont ni ils ont alloué avec nouveau.

Si vous exécutez une opération qui peut provoquer le curseur d'être modifiée, comme afficher un message ou une boîte de dialogue, appelez la fonction membre de Restaurer pour restaurer le curseur d'attente. Il est correct d'appeler Restaurer même lorsqu'un curseur d'attente est actuellement affiché.

Une autre façon d'afficher un curseur d'attente est d'utiliser la combinaison de CCmdTarget::BeginWaitCursor, de CCmdTarget::EndWaitCursor, et éventuellement de CCmdTarget::RestoreWaitCursor. Toutefois, il est plus facile à utiliser CWaitCursor parce que vous n'avez pas besoin de définir le curseur vers le curseur précédent lorsque vous avez terminé avec une longue opération.

Notes

MFC définit et restaure le curseur à l'aide de la fonction virtuelle de CWinApp::DoWaitCursor .Vous pouvez substituer cette fonction pour fournir un comportement personnalisé.

Hiérarchie d'héritage

CWaitCursor

Configuration requise

En-tête : afxwin.h

Exemple

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;         

}

Voir aussi

Référence

Graphique de la hiérarchie

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Autres ressources

Comment faire : Modifiez le curseur de la souris dans une application Microsoft Foundation Class ?