CWaitCursor选件类
提供一行显示方式等待光标,通常显示为一个沙漏,而您执行较长操作。
class CWaitCursor
成员
公共构造函数
名称 |
说明 |
---|---|
构造 CWaitCursor 对象并显示等待光标。 |
公共方法
名称 |
说明 |
---|---|
在更改后,回收等待光标它。 |
备注
CWaitCursor 没有基类。
编程做法的好Windows需要公开等待光标时,都将执行需要很长时间的操作。
若要显示等待光标,请在执行较长操作的代码之前定义一个 CWaitCursor 变量。 对象的构造函数自动导致等待光标显示。
当对象超出范围(在 CWaitCursor 对象声明)的块的末尾,此析构函数中设置光标到以前的光标。 换言之,对象会自动执行必要的清理。
备注
由于其构造函数和析构函数如何工作,CWaitCursor 对象始终声明为局部变量--它们不声明为全局变量也不是它们分配了 new。
如果执行可能游标已更改,例如显示消息框或对话框的操作,请调用 还原 成员函数继续等待光标。 即使等待光标当前显示,可以调用 Restore。
(另一种显示等待光标将使用 CCmdTarget::BeginWaitCursor、 CCmdTarget::EndWaitCursor和 CCmdTarget::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;
}