頭出現的就都是預備為我們所用的元件,它們都來自於一個結構緊密的 Application Framework,也就是 VCL(Visual Component Library)。 此外,凡是從標準 VCL 中的類別繼承,符合 Delphi 元件寫作規範可以安裝進元件盤 裏頭的也叫元件,這類客製元件(Custom Component)的數量相當龐大,網路上估計 有萬餘個這類的元件。
當你放置元件到 Form 上頭時,程式編輯器中的變化是值得注意的 ── Delphi 會在我們 加入元件到 Form 中時,自動在 TForm1 這個類別(Class)裏幫我們加入這些元件的程式 碼(如圖 1-2);同時,不論是刪除元件或者更改元件名稱,介於 TForm1 = Class(TForm) 與 private 保留字之間的原始碼也會相應改變。
14
第1章
Delphi 使用概論
請注意!介於 TForm1 = Class(TForm) 與 private 保留字之間的原始碼是由 Delphi 自動負 責維護的,除非是有把握,否則應該避免手動增刪這段程式的內容。
改變元件的大小與位置
設計使用者操作介面時,最常進行的動作大概就是改變元件的大小與位置了 ── 直接以 滑鼠拖曳 Form 上的元件就可以改變其位置(如圖 1-2 的第二步驟) 。滑鼠點一下 Form 上 2 的元件時在元件四周將會有八個控點,拖曳這八個點可以改變元件的大小 。至於各個元 件賴以寄存的 Form,就當它是一般視窗逕行操作即可,拖曳視窗標題與邊緣分別可以改 變 Form 的位置與大小。
設定元件的屬性值
事實上,以滑鼠改變元件的大小與位置,改變的不過只是元件眾多屬性其中的 Left
、Top、 Width、Height 等四個屬性而已,元件其他屬性值的指定在設計階段則透過 Object Inspector 進行修改。 怎麼做呢?如果你是一邊看書一邊練習,或者已經有過 Delphi 的設計經驗的話,應該已經 注意到:當滑鼠點按(Click)Form 上頭的元件時,Object Inspector 會同步顯示該元件的 屬性表;若是改從 Object Inspector 的下拉式選單選擇某一元件時,Form 上的相應元件也 將同步被選取。換句話說,Form 上的元件與 Object Inspector 會同時反應彼此的情況。 選取元件後,直接在 Properties 屬性表中對各屬性指定新值即可。通常的情況是輸入數值 或者文字(例如改變 Button1 的 Caption),此外,某些屬性會提供下拉式選單讓我們選擇 (例如 Color 屬性會出現色彩清單以供選擇),如果屬性的右端看到「…」按鈕,就表示
2
有些元件 (例如本例的 TTimer) 的大小是固定的,這類元件通常是在執行期間 (Runtime)
時看不到的「非視覺化元件」(Non-visual Component)。
15
第一篇
Delphi 與 Object Pascal
3 點一下該按鈕會有對話盒 協助設定該屬性的內容(例如 Font 屬性會出現字型設定對話 盒)。 好了,現在你知道怎麼放元件,也知道該怎麼調整元件位置大小以及其他屬性,請練習一 下吧 ── 從元件盤的 Standard 分類標籤,分別選擇 TLabel、TCheckBox、TButton 等元件 並放置到到 Form 中,另外,也放一個 System 分類標籤中的 TTimer 元件進去。然後將操 作畫面調整成圖 1-3 的樣子:
圖 1-3 / 我 的 小 時 鐘 的 使 用 者 操 作 介 面 設 計 完 成 圖
「我的小時鐘」各元件的屬性設定:
#0001 object frmMyClock: TfrmMyClock #0002 Left = 371 #0003 Top = 146 #0004 BorderIcons = [biSystemMenu, biMinimize] #0005 BorderStyle = bsSingle #0006 Caption = '我的小時鐘' #0007 ClientHeight = 70 #0008 ClientWidth = 369 #0009 Font.Charset = CHINESEBIG5_CHARSET #0010 Font.Color = clWindowText #0011 Font.Height = -16 #0012 Font.Name = '細明體' #0013 Font.Style = [] #0014 Position = poScreenCenter #0015 PixelsPerInch = 96 #0016 TextHeight = 16 #0017 object lblTime: TLabel #0018 Left = 8 #0019 Top = 8 #0020 Width = 56
3
Delphi 管這個叫「屬性編輯器」(Property Editor)
16
第1章
Delphi 使用概論
#0021 Height = 16 #0022 Caption = 'lblTime'