1

我想在长时间任务之前更改光标。我用setcursor改变了它,但光标没有改变。

这是我的代码:

    HCURSOR hWait  =  AfxGetApp()->LoadStandardCursor(IDC_WAIT) ;
    HCURSOR hDefault = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
    ::SetCursor(hWait);

    //a long procedure

    ::SetCursor(hDefault);

我究竟做错了什么?

4

1 回答 1

2

一个非常方便的方法是在长任务的开始(或之前)创建一个CWaitCursor的实例。它设置游标,当它超出范围时,它会恢复它(在析构函数中):

{
    CWaitCursor wait;  

    // Long task

} // The cursor is restored here
于 2012-05-02T06:23:18.867 回答