Sdílet prostřednictvím


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

CWaitCursor::CWaitCursor

Konstrukce CWaitCursor objektu a zobrazí kurzor čekání.

Veřejné metody

Název

Description

CWaitCursor::Restore

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

Graf hierarchie

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Další zdroje

Jak I: změnit kurzor myši v aplikaci Microsoft Foundation Class?