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