小功能成就大系統...介面設計最常使用的元件就是按鈕,
在BCB底下有多種不同功用的按鈕,Button, BitBtn, SpeedButton...等。
我們常常要撰寫當按下某個按鈕執行某個事件的功能,
BCB能方便地在設計者雙擊按鈕後,產生一個Click事件,
以便於撰寫對應的功能。
一個按鈕對應一個Click事件是很合理且直覺的作法,
若今天有10個按鈕則會有10個Click事件(廢話....),
但如果這10個Click事件底下所執行的動作很簡短,
並且有一定的相關性的時,如
"計算機按下數字按鈕顯示於螢幕上",
則可以選擇更Smart且簡化程式的方式,如下說明:

1. 於Form上建立5個Button及1個Edit,如下圖所示

2. 分別為5個Button的Tag屬性設立從1到5
3. 雙擊btn1,在事件中寫入底下程式
void __fastcall TFormMain::btn1Click(TObject *Sender)
{
TSpeedButton *tempBtn;
tempBtn = (TSpeedButton *)Sender;
switch(tempBtn->Tag)
{
case 1:
// Tag 1 action
edt_show->Text = tempBtn->Caption;
break;
case 2:
// Tag 2 action
edt_show->Text = tempBtn->Caption;
break;
case 3:
// Tag 3 action
edt_show->Text = tempBtn->Caption;
break;
case 4:
// Tag 4 action
edt_show->Text = tempBtn->Caption;
break;
case 5:
// Tag 5 action
edt_show->Text = tempBtn->Caption;
break;
default:
break;
}
}
4. 最後把剩餘的Btn Click事件全部指到
btn1Click
5. 完成,下班!!