2018年6月3日 星期日

BCB 筆記6 (Sender)

說來慚愧,但我很後面才知道這東西
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才知道...

Related Posts:

  • 改變 Radio Button 的文字 ( Change the text of a radio button )如果你想要在網頁 Update Radio Button 的文字 通常用的 .val(), .text(), .html() 都沒有辦法 這時應該做的是在 HTML 裡把 Radio Button 的文字用一個Label包起來 然後再使用 .next().html() 去Update Radio Button 的文字 這裡的 Label 我使用的是 span HTML :  <input type="r… Read More
  • PHP Function with Optional ParametersPHP Function with Optional Parameters 有 2 種方法 1. 用 NULL arguments function method($arg1 = null, $arg2 = null){ $arg1 = $arg1? $arg1: "default_value_for_arg1"; $arg2 = $arg2? $arg2: "default_value_for_arg2"; } 2. 傳 Array… Read More
  • CSS vertical-align有時候 Input 的 text 或 textarea 有時候預設的對齊可能不盡理想 這時候可以用 vertical-align,這主要是用來對齊圖片的 但有時候你會想讓 textarea 對齊隔壁的物件,因為沒有此參數的話他會對齊 textarea 的底線 textarea { vertical-align:25px; // 向上修正 25px } 也有支援其他參數,但 w3schools 已有列表這邊不在… Read More
  • Strict Standards: Only variables should be passed by reference in 升級 PHP 後 會遇到錯誤回報 Strict Standards: Only variables should be passed by reference in  $SQL->bindParam(':page', getenv('REQUEST_URI')); 看到這報錯後,我變更改成以下 $temp = getenv('REQUEST_URI'); $SQL-bindParam(':page', $temp);… Read More
  • JS 日期操作 JavaScipt 日期操作 宣告 var now = new Date(); var targetDate = new Date("2018/11/24"); // IE 要注意的地方,IE date 格式為 yyyy/mm/dd var somedate = "2019-5-17"; var targetDate = new Date(somedate.replace("-","/")); * 不照IE格式會顯示 NaN-NaN-… Read More

0 意見:

張貼留言

Popular Posts