Partager via


CWaitCursor::CWaitCursor

Pour afficher un curseur d'attente, déclarez un seul objet d' CWaitCursor avant le code qui exécute une longue opération.

CWaitCursor( );

Notes

Le constructeur est 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.

Vous pouvez tirer parti du fait que le destructeur est appelé à la fin de le bloc (qui peut être avant la fin de la fonction) pour rendre le curseur d'attente actif à une partie de votre fonction. Cette technique est affichée dans le deuxième exemple ci-dessous.

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, ni s'ils ont alloué avec nouveau.

Exemple

// The following example illustrates the most common case 
// of displaying the wait cursor during some lengthy 
// processing. 
void LengthyFunction()
{
   // perhaps you display a dialog box before displaying a 
   // wait cursor

   CWaitCursor wait;   // display wait cursor 

   // do some lengthy processing
   Sleep(1000);

}  // destructor automatically removes the wait cursor 

// This example shows using a CWaitCursor object inside a block 
// so the wait cursor is displayed only while the program is 
// performing a lengthy operation. 
void ConditionalFunction()
{
   if (SomeCondition)
   {
      CWaitCursor wait;   // display wait cursor in this block only 

      // do some lengthy processing
      Sleep(1000);

   }  // at this point, the destructor removes the wait cursor 
   else
   {
      // no wait cursor--only quick processing
   }
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWaitCursor, classe

Graphique de la hiérarchie

CWaitCursor::Restore

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor