【问题标题】:How to create a compeletely transparent window with MFC?如何使用 MFC 创建一个完全透明的窗口?
【发布时间】:2009-01-13 08:06:17
【问题描述】:

我想用 MFC 创建一个完全透明的窗口,但我不知道该怎么做。你能告诉我路吗?

非常感谢!

【问题讨论】:

    标签: mfc window transparent


    【解决方案1】:

    您可以使用分层窗口来实现透明效果。见http://msdn.microsoft.com/en-us/library/ms997507.aspx。请务必设置 WS_EX_LAYERED 位并使用 UpdateLayeredWindow。即使窗口对用户不可见,这也允许您捕获消息。

    【讨论】:

      【解决方案2】:

      我认为透明是指不可见,而不是半透明。您可以将窗口的区域设置为空白区域。查看 Win32 API 中的 SetWindowRgnRegion Functions。如果您想避免纯 Win32 调用,可能会有一些等效的 MFC 类和方法(例如 CRgn)。

      【讨论】:

        【解决方案3】:

        如果你真的想要不可见,那么你可以简单地清除窗口样式中的 WS_VISIBLE 位。覆盖 PreCreateWindow 并确保清除此标志。

        或者,您可以通过在 CreateWindow 调用中将 HWND_MESSAGE 指定为父 hwnd 来创建仅处理消息的窗口。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-11
          • 1970-01-01
          • 2010-10-21
          • 2022-01-02
          • 1970-01-01
          相关资源
          最近更新 更多