Compartilhar via


CWinApp::DoWaitCursor

Essa função de membro é chamada pela estrutura para implementar CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor, and CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor(
   int nCode 
);

Parâmetros

  • nCode
    Se este parâmetro for 1, será exibido um cursor de espera.Se for 0, o cursor de espera é restaurado sem incrementar a contagem de referência.Se – 1, o cursor de espera termina.

Comentários

O padrão implementa um cursor de ampulheta.DoWaitCursor mantém uma contagem de referência. Quando positivo, o cursor de ampulheta é exibido.

Enquanto o faria normalmente não telefonar DoWaitCursor diretamente, você pode substituir essa função de membro para alterar o cursor de espera ou para fazer o processamento adicional enquanto o cursor de espera é exibido.

Para obter uma forma fácil e mais simplificada implementar um cursor de espera, usar CWaitCursor.

Exemplo

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

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classes CWinApp

Gráfico de hierarquia

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

Classe CWaitCursor

Outros recursos

Membros de CWinApp