2

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

非常感谢!

4

3 回答 3

2

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

于 2009-01-14T22:24:50.057 回答
0

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

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

于 2009-01-13T17:02:56.027 回答
0

通过透明我假设你的意思是不可见的,而不是半透明的。您可以将窗口的区域设置为空白区域。看看Win32 API 中的SetWindowRgn区域函数。如果您想避免纯 Win32 调用,可能会有一些等效的 MFC 类和方法(例如CRgn )。

于 2009-01-13T16:22:15.923 回答