如何使用 Direct2D 创建自定义窗口镶边?

Posted

技术标签:

【中文标题】如何使用 Direct2D 创建自定义窗口镶边?【英文标题】:How do I use Direct2D to create custom window chrome? 【发布时间】:2012-03-22 15:48:46 【问题描述】:

在查看 MSDN 入门指南和 API 参考之后,我对 Direct2D 非常陌生,在我看来,如果您想使用带有消息泵和 HWND 的标准 winAPI C++ GUI 模型,则只有 CreateHwndRenderTarget() .

然而,CreateHwndRenderTarget() 只渲染到客户区。如果可能的话,我想绘制自己的窗口镶边并在标题栏中设置控件。我该如何使用 Direct2D?

【问题讨论】:

【参考方案1】:

像这样渲染自定义 chrome 不需要针对 Direct2D 的任何特定技巧。您应该能够依赖任何讨论这些技术但使用 GDI 或 GDI+ 的“旧”文章。

【讨论】:

以上是关于如何使用 Direct2D 创建自定义窗口镶边?的主要内容,如果未能解决你的问题,请参考以下文章

AIR - 设置 NativeWindow 的大小以包括系统镶边

为啥 direct2d 看起来像素化且不准确?

如何使用 Direct2D 从窗口中获取像素

uwp 中的无铬窗口

如何为使用createwindow创建的窗口创建自定义背景颜色

如何使用 Direct2D 从 BITMAPINFOHEADER 和 BYTE 渲染位图