2010-07-01 34 views
1

有没有人注意到,在Windows应用程序中,鼠标指针不会从沙漏变回正常,直到您移动鼠标?在Windows应用程序中的鼠标指针状态不会改变,直到鼠标移动

因此,即使您的应用程序已完成任务并且鼠标指针已设置为恢复为默认值,它仍将保持沙漏状态,直到您移动鼠标为止。 这是什么原因,可以解决?

我不确定其他人是否已经注意到这一点,但这很奇怪,它可能是某种事件驱动的方式来节约操作系统资源。

+0

如果您将鼠标指针设置回“Default”(例如),它应该几乎立即改回。你有没有一个“粘”的例子? – ChrisF 2010-07-01 09:33:43

+0

@Chris:只是做一个谷歌搜索,它会带来几个例子。例如:http://www.bigresource.com/VB-Hourglass-stays-gxRMXlOAPZ.html – CJ7 2010-07-01 10:12:03

+0

这里有什么问题? – 2010-07-01 10:18:02

回答

1

可以解决吗?之后致电ShowCursor(FALSE),然后致电SetCursor()ShowCursor(TRUE)。应该做这项工作。

2

该对话框应该保持沙漏的逻辑。工作线程应该向对话本身发送消息,告诉它开始维护一个沙漏线程。 (你可以通过在启动和停止沙漏的对话框中添加一个临时按钮来测试它。)

另一件需要注意的事情是让第二个进程设置第一个沙漏是一件奇怪的事情。由于用户操作,沙漏应该只发生。当沙漏启动时,通常用户应该可以使用的唯一动作是“取消[无论何种操作都能保持沙漏状态]。”

+0

@Srhik:我会想如果一个取消按钮可用,那么鼠标指针不应该是沙漏。 – CJ7 2010-07-02 09:02:03