1

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

4

1 回答 1

0

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

UpdateLayeredWindow()要求您将窗口内容渲染到您自己的内存位图HDC,然后操作系统会在需要时显示该位图。

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

于 2013-11-04T17:20:37.457 回答