Mat*_*ian 6 c c++ user-interface mfc direct2d
我正在尝试创建一个简单的透明窗口,我可以使用Direct2D绘制.
到目前为止我做了什么:
我只是不知道如何使窗口透明.如果你能指出我的错误,我将被迫
以下是如何使用 DirectComposition API 实现这一点
俄语: http: //www.oszone.net/25395/
英文: https: //msdn.microsoft.com/magazine/dn745861.aspx
基本上作者所做的是
设置 WS_EX_NOREDIRECTIONBITMAP 扩展样式以删除 DWM 的重定向位图。窗口内容现在为空。
创建 DirectComposition 设备
创建组合交换链(而不是 hwnd 交换链)
将一个以 SwapChain 作为内容的视觉对象作为根视觉对象。
使用 Direct2D API 渲染到 SwapChain 中。
它也适用于WS_EX_TRANSPARENT | WS_EX_LAYERED | WS_EX_TOPMOST
创建事件透明的叠加层。
我认为使用 directX 是不可能的。然而GDI确实有效。
看一下这里的源代码,看看它是如何完成的:http://pastebin.com/NJf8wi2V
在源代码中,您可以看到有一个尝试使用 directx/opengl 的选项。然而,正如您从运行中看到的那样,它们不起作用。
归档时间: |
|
查看次数: |
1005 次 |
最近记录: |