按鈕是使用者介面中最基礙的觸發點。Delphi 提供標準 TButton 與圖示按鈕 TBitBtn,後者支援 Glyph 圖示與內建 Kind 預設行為,極適合對話框設計。
| 屬性 | Button1 | Button2 | BitBtn1 | BitBtn2 | Form2.BitBtn1 | Form2.BitBtn2 |
|---|---|---|---|---|---|---|
| Caption | Button1 | Button2 | 對話框 | &Close | Ok | Cancel |
| Kind | - | - | bkCustom | bkClose | bkOk | bkCancel |
| Cancel | False | True | False | False | False | False |
| Default | True | False | False | False | False | False |
| ModalResult | mrNone | mrNone | mrNone | mrNone | mrOk | mrCancel |
True 時,按 Esc 鍵觸發該按鈕 OnClick;多個同設時依 TabOrder 最小者優先。True 時,按 Enter 鍵觸發;例外:若焦點在另一按鈕,則觸發該按鈕。ModalResult、Glyph、Caption。ShowModal 返回此值,決定呼叫端後續邏輯。設為 mrNone 可防止自動關閉。// Unit1 實作區
implementation
uses Unit2; // 必須在 implementation 區引用,避免循環引用
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.ShowModal; // 以模態顯示 Form2,Form1 失去焦點直到 Form2 關閉
end;
// 專案檔 .dpr 自動包含
Application.CreateForm(TForm2, Form2); // 啟動時建立但隱藏
完整原始碼見範例專案,涵雙表單建立、跨單元引用、模態/非模態視窗切換、鍵盤快捷鍵響應完整流程。