Freigeben über


CWaitCursor-Klasse

Stellt eine einzeilige Möglichkeit, einen Wartecursor anzuzeigen, der normalerweise als Sanduhr angezeigt wird, während Sie einen längeren Vorgang ausführen.

class CWaitCursor

Mitglieder

Öffentliche Konstruktoren

Name

Description

CWaitCursor::CWaitCursor

Erstellt ein Objekt CWaitCursor und zeigt den Wartecursor an.

Öffentliche Methoden

Name

Description

CWaitCursor::Restore

Stellt den Wartecursor wiederhergestellt, nachdem er geändert wurde.

Hinweise

CWaitCursor hat keine Basisklasse.

Gute Windows-Programmierstile erfordern, dass Sie einen Wartecursor anzeigen, wenn Sie einen Vorgang ausführen, der recht lange dauert.

Um einen Wartecursor anzuzeigen, definieren Sie einfach eine CWaitCursor-Variable vor dem Code der den längeren Vorgang ausführt. Der Konstruktor des Objekts wird automatisch der Wartecursor angezeigt werden.

Wenn das Objekt den Gültigkeitsbereich verlässt (am Ende des Blocks, in dem das CWaitCursor-Objekt deklariert wurde), dessen - Destruktor den Cursor zum vorherigen Cursor fest. Das bedeutet, dass das Objekt die erforderliche Bereinigung automatisch aus.

Hinweis

Aufgrund, wie ihre Konstruktoren und Destruktoren arbeiten, werden CWaitCursor-Objekte immer als lokale Variablen deklariert - sie werden nie als globale Variablen deklariert, noch sind sie mit new zugeordnet haben.

Wenn Sie einen Vorgang ausführen, der möglicherweise den Cursor wurde, wie das Anzeigen eines Meldungsfelds oder Dialogfeld geändert, rufen Sie die Wiederherstellung-Memberfunktion auf, um den Wartecursor wiederherzustellen. Es ist eine, Wiederherstellen aufzurufen, selbst wenn ein Wartecursor gerade angezeigt wird.

Eine andere Möglichkeit, einen Wartecursor anzuzeigen, die Kombination von CCmdTarget::BeginWaitCursor, von CCmdTarget::EndWaitCursor und kann von CCmdTarget::RestoreWaitCursor zu verwenden. CWaitCursor ist jedoch einfacher zu verwenden, da Sie nicht erforderlich ist, um den Cursor zum vorherigen Cursor festzulegen, wenn Sie mit dem längeren Vorgang durchgeführt werden.

Hinweis

MFC legt fest und stellt den Cursor mit virtuellen Funktion CWinApp::DoWaitCursor wieder her.Sie können diese Funktion überschreiben, um ein benutzerdefiniertes Verhalten bereitzustellen.

Vererbungshierarchie

CWaitCursor

Anforderungen

Header: afxwin.h

Beispiel

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;         

}

Siehe auch

Referenz

Hierarchiediagramm

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Weitere Ressourcen

Wie behebe ich: Ändern Sie den Mauszeiger in einer Microsoft Foundation Class-Anwendung?