2014-02-25 43 views
0

我想知道是否可以得到帶有邊框的表單,但同時不能調整大小,我說的是我需要一個單邊框(不可調整大小),但是與一個可調整大小的窗口邊框。例如,您可以看到Windows 7計算器應用程序,它不可調整大小,但它是邊框,我在說客戶區周圍的aprox 8px寬度邊框和Form Caption區域的相同顏色。帶邊框但不可調整大小的表格

你可以看到一個畫面在這裏解釋多一點點我的情況:

enter image description here

我需要所有bsSingle樣式邊框給人,再加上其實我還可以更改窗口邊框的寬度,在至少像bsSizeable,我的意思是,更廣泛的!

如果我在這篇文章中誤解了一些技術術語,請提前抱歉!

如果你有一些想法來完成這件事,我會很感激!

+0

處理WM_GETMINMAXINFO並設置跟蹤信息。 –

+0

[在delphi中禁用窗體大小調整]的可能的重複(http://stackoverflow.com/questions/2538525/disable-form-resizing-in-delphi) –

回答

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; 
2

設置以下在設計時窗體的屬性,

在約束條件下的財產,有4子屬性。您可以使用以下屬性來避免表單大小調整(仍然有表單的邊框和邊框圖標)。

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

具有這些性質,形式的高度和寬度會被固定爲200沒有尺寸調整。您可以分配您的所需值。