單選按鈕組(RadioBox)是單選按鈕的組合。當我們需要對不同的單選按鈕進行選擇時,為了使不同組之間互不干涉,就需要使用單選按鈕組。
單選按鈕組有兩個重要得屬性:Items和ItemIndex。在窗體上選中RadioBox組件在對象查看器上雙擊Items屬性,將打開一個對話框,如下圖所示:
在該對話框的編輯窗口中輸入各項標題,每項一行。
ItemIndex屬性用於表明單選按鈕組中哪一項被選中了。若為-1(缺省值),表示沒有被選中的項;若為0,表示第一項被選中;若為1,表示第二項被選中;其他依次類推。
我們在前面編制的文本編輯器的基礎上,使用單選按鈕組代替單選按鈕,並添加字體選擇功能。程序用到兩個RadioGroup組件,屬性如下:
屬性 RadioGroup1 RadioGroup2 Caption 顏色 字體 Items 紅色;藍色;綠色 Aria;Symbol;宋體 ItemIndex 0 2由於RadioGroup1的IntemIdex為0,則第一項為初始被選中的項,即“紅色”被選中,所以程序在初始化時應將Memo1中的文本顏色設置為紅色;同樣,RadioGruop2的初始項為第三項“宋體”(ItemIndex為2),也應在初始化時將Memo的文本字體設置為宋體。初始化語句放在Form1的OnCreate事件中,即在創建窗體時對Memo組件進行初始設置。相應得程序如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Lines.Text:='這裡是RadioGroup組件示例';
memo1.Font.Color:=clRed; //設定文本的初始顏色為紅色
memo1.Font.Name:='宋體' //設定文本字體為宋體
end;
改變字體顏色的程序代碼如下:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if radiogroup1.ItemIndex=0 then
Memo1.Font.Color:=clRed
else if radiogroup1.ItemIndex=1 then
Memo1.Font.Color:=clBlue
else
Memo1.Font.Color:=clGreen;
end;
改變字體的程序代碼如下:
procedure TForm1.RadioGroup2Click(Sender: TObject);
begin
if radiogroup2.ItemIndex=0 then
Memo1.Font.Name:='Arial'
else if radiogroup2.ItemIndex=1 then
Memo1.font.name:='Symbol'
else Memo1.Font.Name:='宋體';
end;
程序界面如下圖所示:
完整的程序代碼如下: