動態產生 |
答題得分者是:小傑克
|
boy330077
一般會員 發表:39 回覆:59 積分:19 註冊:2009-10-15 發送簡訊給我 |
|
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
利用button的保留property tag:integer
[code delphi] procedure TForm1.Button1Click(Sender: TObject); var b:TButton; i:integer; begin for i := 0 to 99 do begin b := TButton.Create(self); // parent , left ,top 等等設定 b.Tag := i; b.OnClick := myBClick; end; end; procedure TForm1.myBClick(Sender: TObject); var s:string; begin s:='01234567890123456789012345678901234567890123456789' '01234567890123456789012345678901234567890123456789'; ShowMessage( s[ (Sender as TButton).Tag ]); end; [/code] ===================引 用 boy330077 文 章=================== 如題,我動態產生了100個BUTTON,我有辦法讓他當隨機點擊可以出現自己的CAPTION。 但是如果我要點擊但是執行不同的程式該怎麼辦呢? 如果,我有一個陣列1到100,我要怎麼讓隨機點擊BUTTON,讀取對應的陣列內容,但CAPTION全部都一樣是空白?
------
額有朝天骨,眼中有靈光
編輯記錄
小傑克 重新編輯於 2009-10-16 00:54:23, 註解 無‧
|
boy330077
一般會員 發表:39 回覆:59 積分:19 註冊:2009-10-15 發送簡訊給我 |
|
小傑克
資深會員 發表:5 回覆:209 積分:357 註冊:2009-02-16 發送簡訊給我 |
繼承自Tcomponent 的元件都有tag ,這只是方便程式人員多一個放資料的地方而已
Description Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer. 因為 b.onC lick := myBClick; 是把onC lick 的event 用 myBClick 取代 Sender 就是引發這個event 的物件 (Sender as TButton) 就是把Sender 轉型成Button 所以(Sender as TButton) 轉型成 tbutton 以後就可以使用button 的 tag property 陣列就 a[ (Sender as TButton) .tag ] ===================引 用 boy330077 文 章=================== 感謝上述 但是 tag 是什麼 為什麼可以這樣運用? 如果我要取的是陣列裡的對應的內容 是不是改成 ShowMessage( a[ (Sender as TButton).Tag ]); asTButton).Tag 也不是很清楚 到底該怎麼用
------
額有朝天骨,眼中有靈光 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |