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 |
---|---|
Erstellt ein Objekt CWaitCursor und zeigt den Wartecursor an. |
Öffentliche Methoden
Name |
Description |
---|---|
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
Weitere Ressourcen
Wie behebe ich: Ändern Sie den Mauszeiger in einer Microsoft Foundation Class-Anwendung?