代码之家  ›  专栏  ›  技术社区  ›  Ian

窗口保持拖放光标

  •  1
  • Ian  · 技术社区  · 15 年前

    我有一个奇怪的问题,我希望有人可能有经验/有一些建议。

    我使用的是第三方图书馆(Godiagram),它简要地反映了这一点,我认为这不是问题的原因。我将一个文件拖到一个继承自控件类的背景画布上。在将文件拖动到画布上时,光标将变为“拖放”光标,我可以肯定,这只是由基本控件而不是画布本身处理的。

    此时画布触发了一个我所关注的事件。此事件显示模式对话框。此时光标是一个普通箭头。但是,如果我将焦点返回到桌面,我的光标仍处于“拖放”状态,我实际上无法与桌面上的任何图标交互。

    有人知道为什么会发生这样的事情吗?或者有人知道我如何强制光标恢复吗?奇怪的是,感觉它的Windows光标不工作,从那一点上说,我的应用程序中的光标很好。如果我关闭对话框,那么光标将返回到您期望的任何位置。

    干杯

    1 回复  |  直到 15 年前
        1
  •  0
  •   Kamran Khan    15 年前

    通常,在更改光标类型时,首先保存上一个光标状态;更改为新的光标类型,执行该操作,然后在完成后将光标更改回上一个光标类型。因此,这就是每个人(每个应用程序)都有机会在尊重其他应用程序的同时操纵光标类型的方式。

    似乎在某种程度上,当新模式对话框打开时,它不会保留以前的光标状态,更不用说在对话框关闭事件时恢复到以前的光标类型。

    所以,你能做的就是 change the cursor type 当该对话框关闭时手动执行。

    --编辑--

    我重读了你的问题;现在我不确定我是否正确理解你。

    据我所知,您连接到的事件显示对话框,这是否意味着您是显示模式对话框的人?

    如果是的话,你有没有试图操纵 .MouseEnter .MouseLeave 事件来控制光标类型。