我正在尝试创建一个 Direct3D 应用程序,它在窗口模式下运行,带有标题栏和最小化/退出按钮。但是,我真的很希望能够取消窗口周围的边框。
我希望这样做,因为当应用程序水平填充主显示器(有空间垂直移动应用程序)时,它在双显示器上看起来很俗气,但它的窗口边框溢出到辅助屏幕上。我尝试了 setwindowlong
与 GWL_STYLE
和 GWL_EXSTYLE
的一系列组合,但似乎无法取得进展,除非我禁用标题栏.
我见过很多无边框的应用程序,但它们似乎模仿了标题栏,而不是使用 Microsoft 提供的内置标题栏。
感谢您的任何建议。
最佳答案
您不能删除边框并保留标题栏 AFAIK。
您可以使用 WM_NCHITTEST
重新实现标题栏,但您仍然需要自己绘制它,如果您希望 D3D 应用程序看起来最好,这不是一个坏主意。
我上次检查时,Visual Studio 实现了它的边框,透明分层窗口位于主要窗口后面。它们是您看到的影子。
关于c++ - 如何在 Windows C++ 中创建带标题栏的无边框窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32362672/