Clase de CWaitCursor
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 |
---|---|
Construye un objeto de CWaitCursor y muestra el cursor de espera. |
Métodos públicos
Name |
Descripción |
---|---|
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;
}