Klasa CWaitCursor
Zapewnia sposób jednego wiersza, aby pokazać kursora oczekiwania, który jest zwykle wyświetlany jako Klepsydra podczas czasochłonnych operacji wykonywanych.
class CWaitCursor
Członkowie
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstrukcje CWaitCursor obiektu i wyświetla kursor oczekiwania. |
Metody publiczne
Nazwa |
Opis |
---|---|
Przywraca kursor oczekiwania po jest zmieniana. |
Uwagi
CWaitCursornie ma klasy podstawowej.
Windows dobrych praktyk programowania wymagają wyświetlania kursora oczekiwania, gdy wykonujesz operację, która zajmuje zauważalne ilość czasu.
Aby wyświetlić kursor oczekiwania, wystarczy zdefiniować CWaitCursor zmiennej zanim kod, który wykonuje długotrwałą operacją.Konstruktor obiektu automatycznie powoduje, że kursor oczekiwania mają być wyświetlane.
Kiedy obiekt wykracza poza zakres (na końcu bloku, w którym CWaitCursor obiektu jest zadeklarowany), jego destruktora ustawia kursor poprzedniego kursora.Innymi słowy obiekt wykonuje niezbędne oczyszczania automatycznie.
[!UWAGA]
Ze względu na sposób ich konstruktory i destruktory pracy CWaitCursor obiekty zawsze są deklarowane jako zmienne lokalne — nigdy nie zostały zadeklarowane jako zmienne globalne, ani nie są one przydzielane z Nowy.
Jeśli wykonać operację, która może spowodować, że kursor ma zostać zmieniony, takie jak wyświetlanie okna komunikatu lub okno dialogowe, wywołanie przywrócić Członkowskich funkcji przywracania kursora oczekiwania.Nic nie szkodzi call przywrócić nawet kiedy kursor oczekiwania jest aktualnie wyświetlany.
Innym sposobem wyświetlania kursora oczekiwania jest użycie kombinacji CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursori być może CCmdTarget::RestoreWaitCursor.Jednakże CWaitCursor jest łatwiejszy w użyciu, ponieważ nie trzeba ustawić kursor poprzedniego kursora po zakończeniu operacji długie.
[!UWAGA]
MFC ustawia i przywraca przy użyciu kursora CWinApp::DoWaitCursor funkcję wirtualną.Ta funkcja umożliwia zachowanie niestandardowych można zastąpić.
Hierarchii dziedziczenia
CWaitCursor
Wymagania
Nagłówek: afxwin.h
Przykład
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;
}
Zobacz też
Informacje
Inne zasoby
Jak I: Zmień kursor myszy w aplikacji klasy Microsoft Foundation?