我正在编写一个WPF应用程序,允许用户在按住鼠标右键时绘制整个屏幕。我使用全屏透明覆盖形式来实现这一点,但是,当我用鼠标绘制线条时,发生的事情是我的窗口包含线条的部分变得可见(如预期的那样)。这种不受欢迎的影响是,如果该行位于另一个应用程序(如文本框或超链接)的一部分上,则会将光标更改回我的应用程序的默认光标(箭头),而不是其他应用程序所需的光标(IBeam) )。我希望我的叠加层能够与用户无缝连接,只显示它们的绘图路径,而不是与鼠标光标进行任何交互。
请参阅下面的示例:
答案 0 :(得分:1)
请参阅this thread获取解决方案,但这可能与您捕获鼠标事件的方式有冲突。您可以尝试鼠标挂钩或尝试将输入传递到窗口underneath。您可能希望将搜索范围扩展到win32,wndproc等。在这种情况下,从WM_NCHITTEST返回HTTRANSPARENT也不起作用。