BCB 設計按鈕不外乎 TButton TBitBtn TSpeedButton
但按鈕通常邏輯差不多,只是因為傳的值不一樣而用不同 Button
然後程式碼變成這樣
void __fastcall TMainForm::TButton1Click(TObject *Sender)
{
MyButtonFunction("TButton1");
}
void __fastcall TMainForm::TButton2Click(TObject *Sender)
{
MyButtonFunction("TButton2");
}
void __fastcall TMainForm::TButton3Click(TObject *Sender)
{
MyButtonFunction("TButton3");
}
但你其實可以
void __fastcall TMainForm::ButtonClick(TObject *Sender)
{
TControl *btn = dynamic_cast<TControl *>(Sender);
MyButtonFunction(btn->Name);
}
然後再去修改三個 Button 的 OnClick 指向 ButtonClick這裡為什麼用 TControl 因為一次就可以相容三種 Button
用了半年BCB才知道...
0 意見:
張貼留言