带边框但不可调整大小的表单

时间:2014-02-25 22:21:18

标签: delphi

我想知道是否可以获得带边框的表单但同时无法调整大小,我说的是我需要一个单一的边框形式(不可调整大小)但是可调整大小的窗口边框一。例如,您可以看到Windows 7计算器应用程序,它不可调整大小但它是边框,我在谈论客户区周围的aprox 8px宽度边框和Form Caption区域的相同颜色。

你可以在这里看到一张图片,说明我的情况:

enter image description here

我需要所有bsSingle样式边框赋予,加上事实我也可以改变窗口边框的宽度,至少像bsSizeable那样,我的意思是,更广泛的!

如果我在这篇文章中误解了一些技术术语,请提前对此抱歉!

如果你有一些想法要完成这件事,我会很感激!

2 个答案:

答案 0 :(得分:2)

如果厚度正常,您可以通过抑制功能来设置不大的边框:

type
  TForm1 = class(TForm)
    ...
  protected
    procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST;
    ...

procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest);
begin
  inherited;
  if Message.Result in [HTLEFT..HTBOTTOMRIGHT] then
    Message.Result := HTNOWHERE;
end;

答案 1 :(得分:2)

在设计时设置以下表单的属性

在约束属性下,有4个子属性。您可以使用以下属性来避免窗体大小调整(仍然有窗体边框和边框图标)。

minHeight = 200  
minWidth = 200
maxHeight = 200
maxWidth = 200

使用这些属性,表单高度和宽度将固定为200.不调整大小。您可以指定所需的值。