动态button,响应问题 |
答題得分者是:japhenchen
|
andy_qin
一般會員 發表:41 回覆:51 積分:18 註冊:2003-03-06 發送簡訊給我 |
|
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure aclick(Sender:TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.aclick(Sender:TObject); begin showmessage(TButton(sender).Caption); end; procedure TForm1.FormCreate(Sender: TObject); var x : integer ; begin for x := 1 to 50 do begin with TButton.Create(self) do begin Parent:=Form1; width:=40; height:=20; left:=trunc((x-1)/10)*50; top:=((x-1)mod 10)*30; caption:=inttostr(x); tag:=x; onClick:=AClick; end; end; end; end.許下第一千零一個願望 有一天幸福會聽我的話 |
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
上面的例子很簡單,就宣告一個自定義的procedure寫在private段中,內容就是把button的caption給showmessage出來 至於在form1.oncreate中就是動態生成50個button,中間拉拉雜雜寫了一堆left、top、height、width不外乎就是放位子的處理,我寫成橫五行,直十排的按鈕,caption就是他們被生成的順位編號,重點就是在onclick:=aclick這個動作,也就是把每個按鈕的onclick指向到aclick的procedure里去進行 這是一個基本型,你如果覺得只有一個caption實在不夠,你還可以自己繼承button做一個新的元件,加上一些自定義的屬性(數值、字串、pointer指針)或加入新的元件進來,比如timer.........這就不是在本問題中需要解決的了,再聊 許下第一千零一個願望
有一天幸福會聽我的話 發表人 - japhenchen 於 2005/10/19 15:28:05
|
japhenchen
高階會員 發表:51 回覆:444 積分:184 註冊:2003-07-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |