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


CWinApp::DoWaitCursor

Это функция-член вызывается платформой для реализации CWaitCursor, CCmdTarget::BeginWaitCursor, CCmdTarget::EndWaitCursor и CCmdTarget::RestoreWaitCursor.

virtual void DoWaitCursor( 
   int nCode  
);

Параметры

  • nCode
    Если этот параметр равен 1, то курсор ожидания. Если равно 0, то курсор ожидания восстановлено без выполнить приращение счетчика ссылок. Если 1, то курсор ожидания завершения.

Заметки

Значение по умолчанию реализует курсор часов. DoWaitCursor поддерживает счетчика ссылок. Положительное значение, если курсор часов.

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

Для упрощения более упростить способа реализации курсор ожидания, используйте CWaitCursor.

Пример

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

Требования

Header: afxwin.h

См. также

Ссылки

Класс CWinApp

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

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

Класс CWaitCursor