Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Win32半透明窗口 我试图用Win32 API和C++获得一个半透明的窗口。尽管事实如此 大约有一百万个结果试图回答这个问题,但这些结果似乎都不适用于我的案例_C++_Windows_Winapi_Transparency - Fatal编程技术网

Win32半透明窗口 我试图用Win32 API和C++获得一个半透明的窗口。尽管事实如此 大约有一百万个结果试图回答这个问题,但这些结果似乎都不适用于我的案例

Win32半透明窗口 我试图用Win32 API和C++获得一个半透明的窗口。尽管事实如此 大约有一百万个结果试图回答这个问题,但这些结果似乎都不适用于我的案例,c++,windows,winapi,transparency,C++,Windows,Winapi,Transparency,我有一个本机Win32窗口,其中包含托管的WPF内容。因为我正在尝试创建一个自定义 窗框,现在也可以用了,我希望自绘窗框的顶部是半圆形的 透明,也可能应用丙烯酸模糊 查看WPF,我可以在窗口上使用AllowTransparency=True并使用 透明背景。现在我需要一种用Win32 API复制这种行为的方法 从技术上讲,我可以使整个主窗口透明,因为主窗口完全是框架 WPF承载的内容是客户端区域,但即使这样也无法实现透明性 以下是我创建窗口的方式,仅供参考: WNDCLASSXW窗口\u类\u

我有一个本机Win32窗口,其中包含托管的WPF内容。因为我正在尝试创建一个自定义 窗框,现在也可以用了,我希望自绘窗框的顶部是半圆形的 透明,也可能应用丙烯酸模糊

查看WPF,我可以在窗口上使用AllowTransparency=True并使用 透明背景。现在我需要一种用Win32 API复制这种行为的方法

从技术上讲,我可以使整个主窗口透明,因为主窗口完全是框架 WPF承载的内容是客户端区域,但即使这样也无法实现透明性

以下是我创建窗口的方式,仅供参考:

WNDCLASSXW窗口\u类\u ex={ sizeofWNDCLASSEXW, C|u HREDRAW | C|u VREDRAW, 窗口回调, 0, 0, 应用程序实例, nullptr, LoadCursorWnullptr,IDC_箭头, CreateSolidBrushRGB0,0,0, nullptr, 窗口类, nullptr }; const HWND window_handle=CreateWindowExW 0, 窗口类, LWinSoup, WS|U THICKFRAME | WS|U CAPTION | WS|U SYSMENU | WS|U MAXIMIZEBOX | WS|U MINIMIZEBOX | WS|U EX|, CW_USEDEFAULT,CW_USEDEFAULT,100100, nullptr, nullptr, 应用程序实例, 重新解释 ; 我已经看到我应该使用WS_EX_分层,但也没有达到预期的效果。
当然,WPF内容本身不应该是透明的

好吧,尽管所有的答案都告诉我要阅读文档并查看其他 例子。。。结果是,我把WS_EX_放错地方了

const HWND window_handle=CreateWindowExW WS_EX_LAYERED,//需要放在这里扩展样式 窗口类, LWinSoup, WS_THICKFRAME | WS_CAPTION | WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX,//不在这里! CW_USEDEFAULT,CW_USEDEFAULT,100100, nullptr, nullptr, 应用程序实例, 重新解释 ; 你的问题是

WPF内容本身不应该是透明的

您可以使用Set/UpdateLayeredWindowAttributes,但是WPF内容的不透明度也会改变

如果确实要创建高性能的透明/半透明窗口,则需要指定WS_EX_noreditionbitmap标志,而不是WS_EX_LAYERED。然后将DirectComposition与另一个图形API一起使用来呈现内容

查看以了解更多详细信息。

。关于堆栈溢出,有很多问题。我甚至不知道哪一个应该作为副本发布。也许?阅读文档:您是否使用了SetLayeredWindowAttributes?