Freigeben über


CWinApp::DoWaitCursor

Diese Memberfunktion wird vom Framework aufgerufen, um CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor und CCmdTarget::RestoreWaitCursor zu implementieren.

virtual void DoWaitCursor(
   int nCode 
);

Parameter

  • nCode
    Wenn dieser Parameter 1 ist, wird ein Wartecursor.Wenn 0, der Wartecursor wiederhergestellt wird, ohne den Verweiszähler erhöht wird.Wenn - 1, der Wartecursor beendet.

Hinweise

Der standardmäßige implementiert einen Sanduhrcursor.DoWaitCursor verwaltet einen Verweiszähler bei.Wenn positiv, der Sanduhrcursor angezeigt wird.

Während Sie normalerweise DoWaitCursor direkt aufrufen würden, könnten Sie diese Memberfunktion überschreiben, um den Wartecursor zu ändern oder eine zusätzliche Verarbeitung auf, während der Wartecursor angezeigt wird.

Damit eine einfachere, fortschrittlichere Methode einen Wartecursor, verwendet CWaitCursor implementiert.

Beispiel

// The following example shows how to display the
// hourglass cursor during some lengthy processing
void CMdiView::OnLButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // 1->>display the hourglass cursor

   // do some lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // -1->>remove the hourglass cursor
}

// The next example shows DoWaitCursor with parameter 0. It restores
// the hourglass cursor.
void CMdiView::OnMButtonDown(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   UNREFERENCED_PARAMETER(point);

   AfxGetApp()->DoWaitCursor(1); // display the hourglass cursor

   // do some lengthy processing

   // The message box will normally change the cursor to
   // the standard arrow cursor, and leave the cursor in
   // as the standard arrow cursor when the message box is
   // closed.
   AfxMessageBox (_T("DoWaitCursor Sample"));

   // Call DoWaitCursor with parameter 0 to restore
   // the cursor back to the hourglass cursor.
   AfxGetApp()->DoWaitCursor(0);

   // do some more lengthy processing
   Sleep(1000);

   AfxGetApp()->DoWaitCursor(-1); // remove the hourglass cursor
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWinApp-Klasse

Hierarchien-Diagramm

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWaitCursor-Klasse