Třída CWaitCursor
Zobrazit čekací kurzor, který je obvykle zobrazen jako přesýpací hodiny, zatímco zdlouhavá operace provádíte umožňuje jeden řádek.
class CWaitCursor
Členy
Veřejné konstruktory
Název |
Description |
---|---|
Konstrukce CWaitCursor objektu a zobrazí kurzor čekání. |
Veřejné metody
Název |
Description |
---|---|
Obnoví kurzor čekání po byl změněn. |
Poznámky
CWaitCursorZákladní třída neobsahuje.
Dobré Windows programování postupy vyžadují zobrazit čekací kurzor vždy, když provádíte operaci, která trvá znatelné množství času.
Zobrazit čekací kurzor, stačí definovat CWaitCursor proměnných před kódem, který provádí dlouhotrvající operace.Konstruktoru objektu automaticky způsobí čekací kurzor zobrazený.
Když se objekt dostane mimo rozsah (na konci bloku, ve kterém CWaitCursor objektu je deklarována), jeho destruktoru nastaví kurzor na předchozí kurzor.Jinými slovy objekt provede nezbytné vyčištění automaticky.
[!POZNÁMKA]
Vzhledem k jejich konstruktory a destruktory práce CWaitCursor objekty jsou vždy deklarovány jako místní proměnné – nikdy jsou deklarovány jako globální proměnné ani jsou jim přidělena s nové.
Pokud provádíte operaci, která může způsobit, že kurzor měnit, například zobrazení okna se zprávou nebo dialogové okno, volání obnovení členské funkce obnovení čekací kurzor.Je to v pořádku volání obnovení i při čekání kurzor je právě zobrazena.
Zobrazit čekací kurzor jiným způsobem je použití kombinace CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursora případně CCmdTarget::RestoreWaitCursor.Však CWaitCursor je snazší použít, protože nemusíte nastavte kurzor na předchozí kurzoru až skončíte s dlouhotrvající operace.
[!POZNÁMKA]
Nastaví MFC a obnoví pomocí kurzoru CWinApp::DoWaitCursor funkcemi.Poskytnout vlastní chování této funkce můžete přepsat.
Hierarchii dědičnosti
CWaitCursor
Požadavky
Záhlaví: afxwin.h
Příklad
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;
}
Viz také
Referenční dokumentace
Další zdroje
Jak I: změnit kurzor myši v aplikaci Microsoft Foundation Class?