Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要能够在屏幕上的任何位置设置覆盖图形区域(通过 DirectX/DirectDraw 方法),或者至少在窗口区域内使用它。任何人都能够做到这一点?
我认为您想要的是“分层窗口”。这是一个示例,展示了如何使用 DirectX(和 OpenGL)进行分层窗口。
分层窗口可让您使您的普通窗口框架透明(或半透明),以便您绘制的内容看起来“漂浮”在桌面和其他窗口上方。
我们最近创建了一个类似的应用程序,其中我们使用 C# 处理所有 GUI 内容,使用 DirectX 处理窗口内的快速 3D。C# 非常适合快速 GUI 开发,但 GDI+ 对我们的程序来说不够快。因此,我们在 C# 窗口内的 Panel 中覆盖了 WndPrc 函数,并将鼠标事件和绘画的所有控制权转移到 C++ dll。结果很顺利,让我们将快速应用程序开发的各个方面与复杂的 3D 后端结合在一起。