CWinApp::DoWaitCursor

此成员函数由框架调用实现 CWaitCursorCCmdTarget::BeginWaitCursorCCmdTarget::EndWaitCursorCCmdTarget::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 Class

层次结构图

CCmdTarget::BeginWaitCursor

CCmdTarget::EndWaitCursor

CCmdTarget::RestoreWaitCursor

CWaitCursor Class