如何控制窗口的边框大小?

Cro*_*ent 2 delphi

我有一些使用绝对定位的形式,Win7添加到"手柄"以增强半透明度的额外像素正在搞砸控件.我想带他们回去.我尝试在其中一个答案中使用代码:

你能在Windows中创建一个没有WS_POPUP样式的无边界应用程序主窗口吗?

特别是GolezTrol通过调用SetWindowRgn在ShowForm中使用覆盖提供的答案.在W7下代码的行为与XP有点不同,无论如何我无法得到我正在寻找的效果.

对于XP中的标准TForm,数量Width-ClientWidth = 8,而在Win7中,它是16.我想要那些8像素.虽然宽度更重要,但我还是喜欢高度像素.

And*_*and 7

我认为依靠表单的边框宽度是非常糟糕的做法,特别是因为最终用户可以在控制面板中更改它!该ClientWidth物业可供您使用而非Width.将前者设置为您喜欢的任何内容,然后计算后者.

  • @Cromulent:但你想要的是与Windows的整个设计相反,特别是因为添加了用户主题.用户可以控制边框宽度,图标大小,文本字体以及UI的许多其他方面,您的应用应该尊重这些选择.你是否喜欢它们是无关紧要的.;-) (5认同)
  • 为什么"Width-ClientWidth"的值是什么对你很重要? (2认同)