Sering hal ini menjadi banyak pertanyaan orang. Bagaimana membuat button on the fly, kemudian apabila tombol tersebut di klik, maka akan menampilkan identitas button tersebut, button tersebut nomor berapa.
Begini ilustrasinya
Bagaimana caranya mengetahui button tersebut di array berapa? Delphi menyediakan sebuah property bernama TAG, entah tujuannya apa, tetapi terkadang cukup berguna. Untuk source codenya, mari kita lihat saja, supaya tidak banyak teori. Proses tidak penting, mari kita buat event ini do onCreate Form
procedure TForm1.FormCreate(Sender: TObject);
var
buttons:array [1..20] of Tbutton;
i:integer;
begin
for i:=1 to 20 do
begin
buttons[i]:=tbutton.create(self);
buttons[i].parent:=self;
buttons[i].left:=((i-1) mod 5) * buttons[i].width;
buttons[i].top:=((i-1) div 5) * buttons[i].height;
buttons[i].OnClick:=klik;
buttons[i].tag:=i;
buttons[i].caption:='Guess Me';
end;
end;
Bagaimana dengan event onClicknya? Well, mari kita buat sebuah prosedur bernama “klik”, yang isinya hanya:
procedure TForm1.klik(Sender: TObject);
begin
showmessage(inttostr((sender as tbutton).tag));
end;
Compile aplikasi anda, dan anda akan mengetahui button ke-berapa yang anda click. Selamat mencoba
No comments:
Post a Comment