CCmdTarget::BeginWaitCursor

void BeginWaitCursor ( );

주의

명령을 실행 하려면 눈에 띄는 시간 간격을가지고 기대 하는 경우 커서를 모래 시계 모양으로 표시 하려면이 함수를 호출 합니다. 그것은 때 CDocument 개체 로드 또는 파일 자체에 저장 하는 등 바쁜 사용자를 표시 하려면이 함수를 호출 하는 프레임 워크。

BeginWaitCursor 동작 되지 않습니다 항상 다른 작업으로 단일 메시지 처리기 외부의 효과적인 같은 OnSetCursor 처리, 커서를 변경할 수 있습니다.

전화 EndWaitCursor 이전 커서를 복원 하려면。

예제

// The following example illustrates the most common case
// of displaying the hourglass cursor during some lengthy
// processing of a command handler implemented in some
// CCmdTarget-derived class, such as a document or view.

void CMyView::OnSomeCommand()
{
   BeginWaitCursor(); // display the hourglass cursor

   // do some lengthy processing

   EndWaitCursor(); // remove the hourglass cursor
}

// The next example illustrates RestoreWaitCursor.
void CMyView::OnSomeCommand()
{
   BeginWaitCursor(); // display the hourglass cursor

   // do some lengthy processing

   // The dialog box will normally change the cursor to
   // the standard arrow cursor, and leave the cursor in
   // as the standard arrow cursor when the dialog box is
   // closed.
   CMyDialog dlg;
   dlg.DoModal();

   // It is necessary to call RestoreWaitCursor here in order
   // to change the cursor back to the hourglass cursor.
   RestoreWaitCursor();

   // do some more lengthy processing

   EndWaitCursor(); // remove the hourglass cursor
}

// In the above example, the dialog was clearly invoked between
// the pair of calls to BeginWaitCursor and EndWaitCursor.
// Sometimes it may not be clear whether the dialog is invoked 
// in between a pair of calls to BeginWaitCursor and EndWaitCursor.
// It is permissable to call RestoreWaitCursor, even if 
// BeginWaitCursor was not previously called.  This case is 
// illustrated below, where CMyView::AnotherFunction does not
// need to know whether it was called in the context of an
// hourglass cursor.
void CMyView::AnotherFunction()
{
   // some processing ...

   CMyDialog dlg;
   dlg.DoModal();
   RestoreWaitCursor();

   // some more processing ...
}

// If the dialog is invoked from a member function of
// some non-CCmdTarget, then you can call CWinApp::DoWaitCursor
// with a 0 parameter value to restore the hourglass cursor.
void CMyObject::AnotherFunction()
{
   CMyDialog dlg;
   dlg.DoModal();
   AfxGetApp()->DoWaitCursor(0); // same as CCmdTarget::RestoreWaitCursor   
}

CCmdTarget 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CWaitCursor, CCmdTarget::EndWaitCursor, CCmdTarget::RestoreWaitCursor, CWinApp::DoWaitCursor(&N)

Index