CWaitCursor选件类

提供一行显示方式等待光标,通常显示为一个沙漏,而您执行较长操作。

class CWaitCursor

成员

wc7bzytb.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CWaitCursor::CWaitCursor

构造 CWaitCursor 对象并显示等待光标。

wc7bzytb.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CWaitCursor::Restore

在更改后,回收等待光标它。

备注

CWaitCursor 没有基类。

编程做法的好Windows需要公开等待光标时,都将执行需要很长时间的操作。

若要显示等待光标,请在执行较长操作的代码之前定义一个 CWaitCursor 变量。 对象的构造函数自动导致等待光标显示。

当对象超出范围(在 CWaitCursor 对象声明)的块的末尾,此析构函数中设置光标到以前的光标。 换言之,对象会自动执行必要的清理。

备注

由于其构造函数和析构函数如何工作,CWaitCursor 对象始终声明为局部变量--它们不声明为全局变量也不是它们分配了 new

如果执行可能游标已更改,例如显示消息框或对话框的操作,请调用 还原 成员函数继续等待光标。 即使等待光标当前显示,可以调用 Restore

(另一种显示等待光标将使用 CCmdTarget::BeginWaitCursorCCmdTarget::EndWaitCursorCCmdTarget::RestoreWaitCursor的组合。 但是,CWaitCursor 更易于使用,因为您无需设置光标到以前的光标,当处理较长操作时。

备注

使用 CWinApp::DoWaitCursor 虚函数,MFC设置和还原光标。可以重写此函数提供自定义行为。

继承层次结构

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基础类选件应用程序的鼠标光标?