Поделиться через


Класс CWaitCursor

Предоставляет способ одн- линии отображать курсор ожидания, который обычно отображается как часы, при выполнении длинномерную операцию.

class CWaitCursor

Члены

Открытые конструкторы

Имя

Описание

CWaitCursor::CWaitCursor

Создает объект CWaitCursor и отображает курсор ожидания.

Открытые методы

Имя

Описание

CWaitCursor::Restore

Получает курсор ожидания после того, как он был изменен.

Заметки

CWaitCursor не имеет базовый класс.

Хорошее Windows при программировании рекомендации необходимо указать курсор ожидания, когда выполняется операция, которая принимает заметное количество времени.

Для отображения курсора ожидания, просто укажите переменную CWaitCursor перед кодом, который выполняет длинномерную операцию. Конструктор объекта курсор ожидания автоматически будет отображаться.

Если объект выходит из области (в конце блока в котором объявлен объект CWaitCursor ), его деструктор задает курсор к предыдущему курсор. Иначе говоря, объект автоматически выполняет необходимые операции очистки.

Примечание

Из-за, как их конструкторы и деструкторы, объекты CWaitCursor всегда объявлены как локальные переменные — они не объявлены как глобальные переменные и их выбранные с новый.

Если выполняется операция, которая может привести к тому, что курсор быть изменен, например отображение окна сообщения или диалогового окна, вызовите функцию-член восстановление для получения курсор ожидания. Оно одобрен вызвать Восстановить, даже если курсор ожидания в данный момент отображается.

Другой способ отображения курсор ожидания использовать сочетание CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor и возможности CCmdTarget::RestoreWaitCursor. Однако CWaitCursor проще в использовании, поскольку нет необходимости устанавливать курсор к предыдущему курсор после завершения с длительной операцией.

Примечание

MFC задает и получает курсор с помощью виртуальную функцию CWinApp::DoWaitCursor.Можно переопределить эту функцию для предоставления пользовательской расширения функциональности.

Иерархия наследования

CWaitCursor

Требования

Заголовок: afxwin.h

Пример

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;         

}

См. также

Ссылки

Диаграмма иерархии

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWinApp::DoWaitCursor

Другие ресурсы

Инструкции: Измените курсор мыши в приложении Microsoft foundation class?