CWaitCursor

CWaitCursor hat keine Basisklasse.

Die CWaitCursor -Klasse stellt eine Zeile zu einen Wartecursor, zeigen die in der Regel als eine Sanduhr angezeigt wird, während du einen langwierigen Vorgang tust. Gute Programmierpraktiken Windows erfordern, dass Sie einen Wartecursor angezeigt, wenn Sie eine Operation durchführen, die eine spürbare Zeit erforderliche.

Einen Wartecursor angezeigt, nur definieren Sie eine CWaitCursor -Variable vor dem Code, die langwierige Operation. Der Konstruktor des Objekts automatisch bewirkt, dass den Wartecursor angezeigt werden.

Wenn das Objekt Gültigkeitsbereich verlässt (am Ende des Blocks in der das CWaitCursor -Objekt deklariert wurde), der Destruktor setzt den Cursor auf die vorherige Cursor. Mit anderen Worten, führt das Objekt automatisch die notwendigen Aufräumarbeiten.

Hinweis&Nbsp;  Aufgrund der Funktionsweise ihrer Konstruktoren und Destruktoren, CWaitCursor Objekte immer als lokale Variablen deklariert sind — sie nie als globale Variablen deklariert sind, noch sind sie mit neuen reservierten.

Wenn Sie eine Operation ausführen, wodurch den Cursor geändert werden, z. B. im Dialogfeld oder ein Meldungsfeld anzeigen, möglicherweise rufen Sie die Memberfunktion den Wartecursor wiederherstellen Wiederherstellen . Es ist okay, Wiederherstellung aufrufen, selbst wenn derzeit ein Wartecursor angezeigt wird.

Eine andere Möglichkeit, einen Wartecursor angezeigt ist die Kombination aus CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursorund vielleicht CCmdTarget::RestoreWaitCursorverwenden. CWaitCursor ist jedoch einfacher zu verwenden, da Sie nicht brauchen, um den Cursor auf die vorherige Cursor festgelegt, wenn Sie mit der langwierigen Vorgang fertig sind.

Hinweis&Nbsp;  MFC legt fest und stellt den Cursor mithilfe der virtuellen CWinApp::DoWaitCursor -Funktion. Sie können diese Funktion um benutzerdefiniertes Verhalten bereitzustellen überschreiben.

# include lt;afxwin.h>

Klasse&nmember |nbsp; Hierarchiediagramm

Siehe auch&Nbsp;CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor, CCmdTarget::RestoreWaitCursor, CWinApp::DoWaitCursor

Index