如何判斷user按下12 button 其中一個 |
尚未結案
|
nick899
一般會員 發表:16 回覆:22 積分:12 註冊:2002-12-09 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
這個問題可以這樣解..
將這 12 個 button 的 onclick event 都用同一個 procedure 即可
你可以先寫好 addbutton1 的 onclick event 為 addbutton1Click(Sender: TObject);
如下:
procedure TForm1.addbutton1Click(Sender: TObject); begin //其實不用判斷, sender 就是觸發的 button 了, 所以可以直接用 Addedit1.Text:=Trim(Addedit1.Text) Trim(TButton(Sender).Caption); end;然後 1)在 addbutton2... 12 的 onclick event 都指向這個 procedure 就可以了. (design time的做法) 2)若是你想用 findcomponent 功能的話, 其實就在 form 的 activate 時, 寫入 (run time 的做法) procedure TForm1.FormActivate(Sender: TObject); var i: integer; begin for i:= 2 to 12 do begin TButton(findcomponent('addbutton' inttostr(i))).OnClick := Form1.addbutton1Click; end; end;如此一來就會在 form activate 的時候, 將 addbutton2..12 的 onclick event 的行為都設定和 addbutton1 一樣. |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
寫在button1.Click事件,然後所有的buttonClick都指向該事件,你也可以只有將Button1跟button2指向該事件..
procedure TForm1.Button1Click(Sender: TObject);
begin
if (TButton(Sender)=button1) or (TButton(Sender)=button2)then
Addedit1.Text:=Trim(Addedit1.Text) Trim(butt.Caption);
end;
TRY TRY SEE 發表人 - chih 於 2003/04/17 08:28:49
|
nick899
一般會員 發表:16 回覆:22 積分:12 註冊:2002-12-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |