首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 按鈕元件實戰:Button 與 BitBtn 屬性、事件與模態對話框應用

     編輯:Delphi

掌握 Windows 應用最核心互動元件:按鈕

按鈕是使用者介面中最基礙的觸發點。Delphi 提供標準 TButton 與圖示按鈕 TBitBtn,後者支援 Glyph 圖示與內建 Kind 預設行為,極適合對話框設計。

核心屬性對照表

屬性Button1Button2BitBtn1BitBtn2Form2.BitBtn1Form2.BitBtn2
CaptionButton1Button2對話框&CloseOkCancel
Kind--bkCustombkClosebkOkbkCancel
CancelFalseTrueFalseFalseFalseFalse
DefaultTrueFalseFalseFalseFalseFalse
ModalResultmrNonemrNonemrNonemrNonemrOkmrCancel

關鍵屬性深度解析

  • Cancel:True 時,按 Esc 鍵觸發該按鈕 OnClick;多個同設時依 TabOrder 最小者優先。
  • Default:True 時,按 Enter 鍵觸發;例外:若焦點在另一按鈕,則觸發該按鈕。
  • Kind (BitBtn 專屬):預設行為類型(bkOk/bkCancel/bkClose/bkHelp 等),自動設定 ModalResult、Glyph、Caption。
  • ModalResult:模態對話框關閉代碼。模態表單 ShowModal 返回此值,決定呼叫端後續邏輯。設為 mrNone 可防止自動關閉。

跨單元表單呼叫實作

// Unit1 實作區
implementation
uses Unit2;  // 必須在 implementation 區引用,避免循環引用

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Form2.ShowModal;  // 以模態顯示 Form2,Form1 失去焦點直到 Form2 關閉
end;

// 專案檔 .dpr 自動包含
Application.CreateForm(TForm2, Form2);  // 啟動時建立但隱藏

執行行為驗證

  • 啟動程式 → 按 Esc → 彈出「Button2 的 Cancel 屬性為 True」訊息框
  • 點擊 Edit1 獲取焦點 → 按 Enter → Edit1 顯示「Button1 的 Default 屬性為 True」
  • 點擊「對話框」按鈕 → 彈出 Form2(模態)→ 點 Ok/Cancel 自動關閉
  • 點擊 Form1 的 Close 按鈕(bkClose) → 直接關閉主視窗

完整原始碼見範例專案,涵雙表單建立、跨單元引用、模態/非模態視窗切換、鍵盤快捷鍵響應完整流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved