Thursday, April 21, 2011

Creating Button (Control) & Event On The Fly Di Delphi

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

image

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