Compartir a través de


CWaitCursor Class

Proporciona una manera de una línea de mostrar una espera el cursor, que se muestra normalmente como reloj de arena, mientras se está realizando una operación larga.

class CWaitCursor

Miembros

Constructores públicos

Name

Descripción

CWaitCursor::CWaitCursor

Construye un objeto de CWaitCursor y muestra el cursor de espera.

Métodos públicos

Name

Descripción

CWaitCursor::Restore

Restablece el cursor de espera después de cambiar.

Comentarios

CWaitCursor no tiene una clase base.

Buen Windows que programa prácticas requiere que se muestra una espera el cursor cada vez que realice una operación que mantenga un tiempo considerable.

Para mostrar una espera el cursor, simplemente defina una variable de CWaitCursor antes de que el código que realiza la operación larga. El constructor del objeto provoca automáticamente el cursor de espera que se muestre.

Cuando el objeto salga del ámbito (al final del bloque en el que se declara el objeto de CWaitCursor ), su destructor establece el cursor al cursor anterior. Es decir el objeto realiza la limpieza necesaria automáticamente.

Nota

Debido a cómo funcionan los constructores y destructores, los objetos de CWaitCursor se declaran siempre como variables locales — los nunca declaran como variables globales ni se asignaron con nuevo.

Si realiza una operación que podría producir el cursor que se cambiará, como mostrar un cuadro de mensaje o un cuadro de diálogo, llame a la función miembro de Restaurar para restaurar el cursor de espera. Es aceptable llamar a Restaurar incluso cuando una espera el cursor se muestra actualmente.

Otra manera de mostrar una espera el cursor es utilizar la combinación de CCmdTarget::BeginWaitCursor, de CCmdTarget::EndWaitCursor, y quizás de CCmdTarget::RestoreWaitCursor. Sin embargo, CWaitCursor es más fácil utilizar porque no es necesario establecer el cursor al cursor anterior cuando se hace con la operación larga.

Nota

MFC establece y restaura el cursor mediante la función virtual de CWinApp::DoWaitCursor .Puede reemplazar esta función para proporcionar un comportamiento personalizado.

Jerarquía de herencia

CWaitCursor

Requisitos

Encabezado: afxwin.h

Ejemplo

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;         

}

Vea también

Referencia

Gráfico de jerarquías

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Otros recursos

Cómo se hago: ¿Cambie el Cursor en una aplicación de la clase de windows presentation foundation Microsoft?