1. 程式人生 > WINDOWS開發 >使用者介面設計(3)- 窗體的控制

使用者介面設計(3)- 窗體的控制

1、限制窗體的大小

在設計窗體介面時有時會想讓窗體的大小隻限於一定的範圍內,窗體的constraints屬性可以用於控制窗體的大小。

該屬性本身是一個類的物件,這個類主要由四個屬性組成。

示例:

begin
  Self.Constraints.MinWidth:= 400;
  Self.Constraints.MinHeight:= 300;
  Self.Constraints.MaxWidth:= 800;
  Self.Constraints.MaxHeight:= 600;
  with Self.Constraints do
  begin
    MinWidth:= 400;
    MinHeight:
= 300;//窗體的高度寬度最小值控制 MaxWidth:= 800; MaxHeight:= 600;//最大值控制 end; end;

2、窗體的動態建立

我們一般建立新的工程時就會同時建立窗體,一般來說天新增新的窗體時我們不用考慮窗體是如何建立的,不過有時候滿足不了程式設計的需求,此時就需要動態建立窗體。

var
  Frm:Tform;
  Mo:Tmemo;
begin
  Frm:=Tform.Create(application);
  Frm.Width:=800;
  Frm.Height:=500;//動態建立窗體
  Frm.Caption:= 動態建立的窗體標題;

  mo:
=Tmemo.Create(frm); mo.Align:=alClient; mo.ScrollBars:=ssVertical; mo.Parent:=frm; frm.Position:=poScreenCenter;//窗體的POsition屬性可以指定窗體位置 {Poistion取值:poScreenCenter:螢幕中央、poDesktopCenter:桌面中央、poMainFormCenter:工程主窗體中央、poDesigned:設計時的位置顯示} frm.ShowModal; freeandnil(frm); end;

3、窗體關閉時顯示提示窗體

很多時候在程式主窗體關閉時都會有提示框,這個提示框會提示是否關閉程式或是備份資料之類的。我們就可以根據Action 引數來判斷使用者的操作。

先看下窗體的onClose事件定義:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction) of object;

TCloseAction = (caNone,caHide,caFree,caMinimize);

示例:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Application.MessageBox(是否要關閉程式,程式關閉提示,MB_OKCANCEL
  + MB_ICONINFORMATION) = IDOK then
  begin
    Action:= caFree;
  end
  else
  Action:= caNone;
end;

4、窗體被關閉前觸發OnCloseQuery事件

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  {可以看出引數CanClose是個布林值,為true時允許窗體被關閉,反之不允許。
  可以參考上面的例子使用對話方塊來判斷是否允許關閉。}
  Button1.Free;
end;

5、窗體之間的引用

使用Alt+F11可開啟選擇單元對話方塊

技術分享圖片

6、多窗體間的資料傳遞

多窗體間的資料傳遞是指窗體的元件或變數的傳遞,主要有兩種方法:

(1)通過窗體類進行資料傳遞:

uses
  Unit2;//引用
begin
  Form1.Edit1.Text:= Form2.Edit1.Text;通過窗體類
end;

(2)通過在本單元定義全域性變數進行資料傳遞:

var
  Form1: TForm1;
  Name: string;//本單元定義好全域性變數後,其他單元引用本單元后就可以訪問該變數。

7、元件的鎖定

當窗體設計完成後,以防誤操作,可以將窗體上的元件位置鎖定不變,Edit-->Lock Controls命令。再次操作解鎖。

8、元件的對齊

edit-->Align命令,開啟Alignment對話方塊,如下“

技術分享圖片

{水平選項:                         垂直選項:
  No change:沒有任何改變             No change:沒有任何改變
  Left sides:左側對齊                Tops:頂端對齊
  Centers:居中對齊                   Centers:居中對齊
  Right sides:右側對齊               Bottoms:底端對齊
  Space equally:空格間距相等         Space equally:空格間距相等
  Center in window:水平居中          Center in window:垂直居中}