2

我正在编写一个 WPF 应用程序,它允许用户在按住鼠标右键时在整个屏幕上绘图。我使用全屏透明覆盖形式来实现这一点,但是,当我用鼠标画线时,正在发生的事情是包含线的窗口部分变得可见(如预期的那样)。这样做的不良影响是,如果该行位于另一个应用程序的一部分(例如文本框或超链接)上,这会将光标更改回我的应用程序的默认光标(箭头),而不是其他应用程序所需的光标(IBeam )。我希望我的叠加层对用户来说是无缝的,并且只显示他们的绘图路径,而不是与鼠标光标进行任何交互。

请参阅下面的示例:

替代文字

4

1 回答 1

1

请参阅此线程以获取解决方案,但这可能与您捕获鼠标事件的方式相冲突。您可以尝试使用鼠标钩子或尝试将输入传递到下面的窗口。您可能希望将搜索范围扩大到 win32、wndproc等。在这种情况下,从 WM_NCHITTEST 返回 HTTRANSPARENT 也不起作用。

于 2010-06-07T16:01:53.617 回答