Classe de CWaitCursor
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 |
---|---|
Construit un objet d' CWaitCursor et affiche le curseur d'attente. |
Méthodes publiques
Nom |
Description |
---|---|
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.
[!REMARQUE]
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.
[!REMARQUE]
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
Autres ressources
Comment faire : Modifiez le curseur de la souris dans une application Microsoft Foundation Class ?