有没有办法在不使用UpdateLayeredWindow的情况下制作半透明窗口

时间:2013-11-04 14:40:32

标签: winapi user-interface direct2d

我正在为Win7 +编程并使用Direct2D进行绘图。 UpdateLayeredWindow需要一个HDC,这意味着我最好创建一个WICRenderTarget(不是GPU加速)。有没有办法在不使用UpdateLayeredWindow的情况下制作半透明窗口?

1 个答案:

答案 0 :(得分:0)

只有两个用于渲染分层窗口的API函数:UpdateLayeredWindow()SetLayeredWindowAttributes()

UpdateLayeredWindow()要求您将窗口内容呈现给您自己的内存中位图HDC,操作系统随后会在需要时显示该位图。

SetLayeredWindowAttributes()依赖于传统的WM_PAINT模型,要求您渲染到操作系统提供的HDC,而是将其实现为内存中的位图HDC操作系统在渲染完成后应用效果。