【问题标题】:Win32: How do I make an HWND transparent to clicks?Win32:如何使 HWND 对点击透明?
【发布时间】:2009-09-14 11:10:47
【问题描述】:

我想要一个对点击透明的 HWND(即将点击传递到下面的窗口)。

起初我尝试了 WS_EX_TRANSPARENT,但它有各种各样的重绘问题。下面的窗口最终会覆盖我的 HWND。

我进行了一些搜索,发现了一个通过返回 HTTRANSPARENT 来响应 WM_NCHITTEST 的建议。这似乎有效,但 MSDN 声明它仅在下面的窗口位于同一线程中时才能正常工作。搜索 HTTTRANSPARENT 出现了一些问题 (http://www.virtualdub.org/blog/pivot/entry.php?id=147)

那么……还有其他想法吗?

【问题讨论】:

  • 我在使用 WM_NCHITTEST 时从未遇到过问题。您的应用程序是否在不同的线程中创建窗口?
  • 是的,这是 Ui 库的一部分,专门设计用于处理从多个线程调用。

标签: winapi hwnd


【解决方案1】:

捕获所有鼠标消息并使用 PostMessage 将它们转发到底层窗口。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 2011-05-31
  • 2012-07-16
相关资源
最近更新 更多