我需要创建一个具有指定背景颜色的无边框窗口。我知道如何删除非客户区并获得如下信息:
这很酷,但不是我真正想要的。如果您仔细观察任何航空窗 - 它周围有一个阴影(实际上这不是阴影,而是一些发光)。我在某个地方找到了可以使用此代码添加阴影的地方:
const MARGINS shadow_on = { 1, 1, 1, 1 };
DwmExtendFrameIntoClientArea(hwnd, &shadow_on);
它几乎完成了它的工作(认为这对我来说绝对不清楚 - 文档没有说明阴影和这个功能的关系)。几乎。窗户周围出现了一条细边框。它看起来像是半透明的,并且破坏了窗口的外观和感觉:
我知道这是可能的——视觉工作室甚至以某种方式改变了这个边框的颜色!
更新:正如 IInspectable 在评论中注意到的那样,我可以在DwmExtendFrameIntoClientArea()
. 我设置了 -1 值并得到了这个结果:
正如你所看到的 - 它甚至更奇怪。我试图用颜色填充背景,但没有运气。