1

您如何创建一个透明窗口,该窗口可以放置在另一个正在主动向其绘制流式视频的窗口上。我想在视频窗口的顶部创建一个窗口,我可以在没有视频的情况下不断地在它上面绘制。

我可以从透明对话框资源创建一个窗口并使用 SetWindowPos(...) 设置它的 z 顺序,但它似乎没有任何效果。将对话框设置为 WS_CHILD 样式或 WS_POPUP 似乎也没有效果。

我正在使用我公司的另一个开发小组开发的媒体(视频)框架,并正在为该代码提供窗口句柄。他们的渲染插件在使用 Direct3d 在该窗口表面上渲染视频的管道中使用该句柄。

4

1 回答 1

1

视频被渲染到视频适配器中的硬件覆盖层。您需要创建自己的以覆盖该叠加层。我认为 DirectX 提供了该功能,您也可以通过使用 WS_EX_LAYERED 窗口样式和 SetLayeredWindowAttributes() 来获得它。您需要设置透明度键。不太确定这是一个灌篮顺便说一句,我看到这表现得很奇怪。

于 2010-02-10T22:00:15.133 回答