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

Delphi RadioGroup 單選按鈕組實戰:字型顏色與樣式動態切換應用

     編輯:Delphi

群組化單選的最佳元件:TRadioGroup 完整應用指南

TRadioGroup 將多個單選鈕封裝為單一元件,內建互斥邏輯,透過 Items(選項清單)與 ItemIndex(目前選中索引)屬性即可完整控制,極適合「單選一」的設定介面。

核心屬性與設計時設定

  • Items:雙擊屬性開啟字串清單編輯器,每行一個選項標題
  • ItemIndex:-1(預設,無選項)、0(第一項)、1(第二項)……
  • Columns:顯示欄數(預設 1),可水平排列選項

實戰專案:文字編輯器字型顏色/字型切換

延伸前一章 Memo 文字編輯器,加入兩個 RadioGroup:

屬性RadioGroup1 (顏色)RadioGroup2 (字型)
Caption顏色字型
Items紅色; 藍色; 綠色Arial; Symbol; 宋體
ItemIndex0 (紅色)2 (宋體)

表單建立初始化

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Text := '這裡是 RadioGroup 元件示例';
  Memo1.Font.Color := clRed;      // 對應 RadioGroup1 ItemIndex=0
  Memo1.Font.Name := '宋體';      // 對應 RadioGroup2 ItemIndex=2
end;

RadioGroup1 點擊事件:切換文字顏色

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
    0: Memo1.Font.Color := clRed;
    1: Memo1.Font.Color := clBlue;
    2: Memo1.Font.Color := clGreen;
  end;
end;

RadioGroup2 點擊事件:切換字型名稱

procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
  case RadioGroup2.ItemIndex of
    0: Memo1.Font.Name := 'Arial';
    1: Memo1.Font.Name := 'Symbol';
    2: Memo1.Font.Name := '宋體';
  end;
end;

完整專案架構

  • 繼承 Memo 編輯器基礎(剪貼簿、檔案操作按鈕)
  • 新增三個 CheckBox(粗體/斜體/底線)控制 Font.Style
  • 兩個 RadioGroup 控制 Font.Color 與 Font.Name
  • 所有事件處理採 case 結構,清晰對應索引值

關鍵技巧:Font.Style 為集合型別,新增樣式用 + [fsBold],移除用 - [fsBold],避免覆蓋既有樣式。

// CheckBox 點擊事件範例
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then
    Memo1.Font.Style := Memo1.Font.Style + [fsBold]
  else
    Memo1.Font.Style := Memo1.Font.Style - [fsBold];
end;

完整原始碼整合所有功能,展示多元件協作構建豐富文字編輯介面的實戰模式。

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