有没有人注意到在Windows应用程序中,鼠标指针在移动鼠标之前不会从Hourglass更改回正常状态?
因此,即使您的应用程序已完成任务并且鼠标指针已设置为恢复为默认值,它将保持为沙漏,直到您移动鼠标。 这是什么原因,可以解决吗?
我不确定其他人是否注意到了这一点,但这很奇怪,它可能是某种以事件驱动的方式来节省操作系统资源。
答案 0 :(得分:2)
对话框应该保持沙漏的逻辑。工作线程应该向对话框本身发送一条消息,告诉它开始维护一个沙漏线程。 (您可以通过在对话框中添加一个临时按钮来启动和停止沙漏来测试它。)
另一件需要注意的事情是,让第二个过程设置第一个沙漏是一件奇怪的事情。沙漏只应该由于用户操作而发生。当沙漏出现时,通常用户应该可以使用的唯一操作是“取消[无论操作是否保持沙漏]。”
答案 1 :(得分:1)
可以解决吗?在致电ShowCursor(FALSE)
之前致电SetCursor()
,之后致电ShowCursor(TRUE)
。应该做的。