Класс CWaitCursor
Предоставляет способ одн- линии отображать курсор ожидания, который обычно отображается как часы, при выполнении длинномерную операцию.
class CWaitCursor
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CWaitCursor и отображает курсор ожидания. |
Открытые методы
Имя |
Описание |
---|---|
Получает курсор ожидания после того, как он был изменен. |
Заметки
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;
}
См. также
Ссылки
Другие ресурсы
Инструкции: Измените курсор мыши в приложении Microsoft foundation class?