c++ - 如何在 Windows C++ 中创建带标题栏的无边框窗口

标签 c++ windows winapi direct3d

我正在尝试创建一个 Direct3D 应用程序,它在窗口模式下运行,带有标题栏和最小化/退出按钮。但是,我真的很希望能够取消窗口周围的边框。

我希望这样做,因为当应用程序水平填充主显示器(有空间垂直移动应用程序)时,它在双显示器上看起来很俗气,但它的窗口边框溢出到辅助屏幕上。我尝试了 setwindowlongGWL_STYLEGWL_EXSTYLE 的一系列组合,但似乎无法取得进展,除非我禁用标题栏.

我见过很多无边框的应用程序,但它们似乎模仿了标题栏,而不是使用 Microsoft 提供的内置标题栏。

感谢您的任何建议。

最佳答案

您不能删除边框并保留标题栏 AFAIK。

您可以使用 WM_NCHITTEST 重新实现标题栏,但您仍然需要自己绘制它,如果您希望 D3D 应用程序看起来最好,这不是一个坏主意。

我上次检查时,Visual Studio 实现了它的边框,透明分层窗口位于主要窗口后面。它们是您看到的影子。

关于c++ - 如何在 Windows C++ 中创建带标题栏的无边框窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32362672/

相关文章:

javascript - 为什么 Node.js cluster.fork() 不在 Windows 8 上创建我的进程的副本?

java - 在java中执行后关闭批处理文件

windows - 传递给 mshtml.dll 的参数是什么?

c++ - 如何在 Windows 控制台中禁用用户选择

c++ - 我用于渲染随机多边形的代码无法正常工作

c++ - 如何有效地比较 C++ 中的集合?

python - pyclipper 安装错误 : "tp_print is not a member of _typeobject"

C++使用单独的函数按降序对数组进行排序

C++ GUI 开发 - 位图与 vector 图形 CPU 使用率

c++ - 删除 HBITMAP 会在运行时导致访问冲突