1. 程式人生 > WINDOWS開發 >使用者介面設計(2)- 窗體的主要屬性

使用者介面設計(2)- 窗體的主要屬性

TForm類有很多屬性,這其中的有些屬性是不常見的,並且很少用,而另外一些屬性用得很廣泛,這裡講接觸一些應用廣泛的屬性,但不包括一些顯而易見的屬性,諸如Caption、Color、Left、Top、Width、Height等等。

窗體透明度:

技術分享圖片

begin
  AlphaBlend:= true;//設定窗體是否透明
  AlphaBlendValue:= 90;//設定窗體得透明度,取值在0~255,值越小透明度越高
  TransparentColor:= true;//是否使用窗體的透明顏色,針對窗體得color屬性
  TransparentColorValue:= clGreen;//設定窗體的透明顏色值
end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin AlphaBlend:= True; ScrollBar1.Max:= 255;//設定滾動條最大值 AlphaBlendValue:= ScrollBar1.Position;//透明度跟隨滾動條 end;

一、設計階段屬性

1、ActiveControl屬性用來設定空間,當窗體被啟用時,此控制元件就要聚焦。

技術分享圖片

2、AutoScroll,HorzScrollBar和VertScrollBar屬性一起用來控制窗體的滾動欄。如果AutoScroll被設定成True(預設狀態),這樣當窗體太小以至於不能顯示所有元件時,滾動欄將會自動顯示。

技術分享圖片

技術分享圖片技術分享圖片

3、BorderIcons屬性是控制執行階段出現在窗體上的系統按鈕,可供選擇的按鈕包括系統選單、最小化和最大化按鈕、幫助按鈕。

技術分享圖片

4、BorderStyle屬性表示窗體將採用什麼型別的邊框,其預設值為bsSizeable,此值建立的視窗是可縮放的。不可縮放的型別包括bsDialog和bsNone。

技術分享圖片

5、ClientWidth和ClientHeight屬性,可以規定客戶區的高度和寬度,而不是全窗體的寬度和高度(窗體的客戶區(client area)是指位於邊界內標題欄和選單欄之間的區域)。當需要把客戶區變成特定的大小,並且對視窗其他部分作調整時,就可以用這兩個屬性,設定ClientWidth和ClientHeight屬性,就會自動改變Width和Height屬性。

技術分享圖片

6、Constraints屬性是用來設定窗體的最大和最小長度和寬度,只要簡單的把MaxWidth、MaxHeight、MinWidth和MinHeight值設定成預定的值,窗體就會符合這些限制。

技術分享圖片

7、DefautMonitor屬性是決定在多重監視器環境中窗體將用哪種監視器。

技術分享圖片

8、Font屬性用來說明窗體所用的字型,在這裡需要理解一個很重要的論點,就是防止在窗體上的任何元件都要繼承窗體字型,就是說只要改變了窗體字型,就可以同時改變所有元件所用的字型,如果個別控制元件的字型是人工改變的,則當主窗體字型改變時,控制元件字型將不會改變。

技術分享圖片

9、FormStyle屬性通常設定為fsNormal,如果要使一個窗體總在頂級,可以用fsStayOnTop。MDI窗體應用fsMDIForm,MDI子窗體應用fsMDIChild。

技術分享圖片

10、HelpContext和HelpFiles,HelpContext屬性用來設定窗體的幫助上下文ID,若啟動了窗體的上下文幫助,則當點選F1鍵時,Windows幫助系統將啟用,上下文ID用來指示Help系統顯示幫助檔案的具體哪一頁。HelpFiles屬性就是當點選F1鍵時要用的幫助檔案的名稱。

技術分享圖片

11、Icon屬性用來設定圖示,當窗體在執行階段顯示時,此圖示用在窗體的標題欄上,當窗體被最小化時也是一樣。在有些情況下,設定這個屬性是無效的,比如當FormStyle設定為fsDialog時,Icon屬性就被忽略。

技術分享圖片

12、KeyPreview屬性,當此屬性為True時,只要點選窗體上的任何元件就會產生此窗體的OnKeyPress和OnKeyDown事件,在預設情況下該屬性為False,當窗體上元件聚焦時,窗體不接受鍵盤事件。

技術分享圖片

13、Position屬性,當窗體初始化時,Position屬性決定了窗體的大小和位置,這個屬性有三個選擇:

  • poDesigned會導致窗體的位置為設計時的位置;
  • poDefault使得Windows根據通常的Windows Z順序演算法設定大小和位置(Z順序是Windows用來確定在螢幕的何處顯示一個新視窗,如果這個新視窗沒有什麼特別的位置資訊,那麼它將在螢幕上前一個視窗的右下方顯示);
  • poScreenCenter使得窗體每次都在螢幕中央顯示。

技術分享圖片

14、Visible屬性決定窗體是否初始可見,在執行階段,它可決定窗體是否可見,可以用於隱藏或顯示窗體。

技術分享圖片

15、WindowState屬性可以設定窗體的當前狀態(最大化、最小化和正常)。

技術分享圖片

16、Menu屬性可以選擇窗體上新增的MainMenu元件

技術分享圖片

17、PopupMenu屬性可以選擇窗體上新增的滑鼠右鍵選單

技術分享圖片

二、唯執行階段屬性

有些屬性只有在執行階段才能通過程式碼存取,下面列舉一些通用的執行階段屬性。

1、ActiveMDIChild屬性,是隻讀的,返回一個指向當前啟用的MDI子視窗的指標,如果沒有當前啟用的MDI子視窗或者應用程式不是MDI應用程式,則ActiveMDIChild返回0。

2、Canvas代表窗體畫布,在執行階段可以通過Canvas屬性,在窗體上畫點陣圖、線、形或者文字。大部分情況下,在窗體上用Label元件畫文字,用Image元件顯示影象,用Shape元件畫圖形,但有時在執行階段需要畫畫布時,就可用Canvas屬性。

3、ClientRect屬性包含窗體客戶區的頂、左邊、右邊和底部的座標。

4、Handle屬性返回窗體的控制代碼,當需要把控制代碼傳遞給Windows API函式時,就要用這個屬性。

5、ModalResult用來指示怎樣關閉一個模式窗體,如果有一個對話方塊,它有OK按鈕和Cancel按鈕,當用戶點選OK按鈕時,可把ModalResult設定成mrOK,當有使用者點選Cancel按鈕時,可以把它設定成mrCancel,這樣呼叫窗體只需讀取ModalResult就可看到點選哪個按鈕可關閉視窗,其他取值還有mrYes、mrNo和mrAbort。

6、Owner屬性是一個指向窗體擁有者的指標,窗體的擁有者是代表當窗體不需要時有權刪除窗體的物件。

7、Parent屬性是一個指向父窗體的指標。

轉載:http://www.delphitop.com/html/IDE/3242.html