Partager via


CWinApp::DoWaitCursor

Cette fonction membre est appelée par l'infrastructure pour implémenter CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor, et CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor( 
   int nCode  
);

Paramètres

  • nCode
    Si ce paramètre est 1, un curseur d'attente s'affiche. Si 0, le curseur d'attente est restauré sans incrémenter le décompte de références. Si – 1, le curseur d'attente se termine.

Notes

La valeur par défaut implémente un pointeur en sablier. DoWaitCursor met à jour un décompte de références. Lorsque le positif, le pointeur en sablier s'affiche.

Si vous n'appelez normalement pas DoWaitCursor directement, vous pouvez substituer la fonction membre pour modifier le curseur d'attente ou pour effectuer un traitement supplémentaire lorsque le curseur d'attente est affiché.

Pour qu'une façon plus simple et plus simplifiée implémente un curseur d'attente, utilisez CWaitCursor.

Exemple

// 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
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWinApp, classe

Graphique de la hiérarchie

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWaitCursor, classe