WS_EX_TRANSPARENT和手写笔事件

时间:2015-07-20 13:42:52

标签: c++ winapi window

我在窗口中使用以下代码设置WS_EX_TRANSPARENT标志:

SetWindowLong( hwnd, GWL_EXSTYLE,WS_EX_TRANSPARENT | WS_EX_COMPOSITED | WS_EX_LAYERED );

此标志使鼠标事件转到Windows系统而不是我的应用程序。 当我设置它时,我无法在hwnd窗口中获取Stylus事件。有什么方法可以解决那个或那个不可能的事情?

1 个答案:

答案 0 :(得分:1)

记录了Layered WindowsWS_EX_TRANSPARENT扩展窗口样式的行为:

  

[I]如果分层窗口具有 WS_EX_TRANSPARENT 扩展窗口样式,则将忽略分层窗口的形状,鼠标事件将传递到分层窗口下的其他窗口。

注意:对于所有指针设备,输入处理的规则通常是相同的。每当你阅读"鼠标事件" 您可以将其扩展为"从指点设备输入事件"

WS_EX_TRANSPARENT的文档中提供了一种解决方法:

  

要在没有这些限制的情况下实现透明度,请使用SetWindowRgn功能。