Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#7

Re: OnClick ereigniss für ganz viele buttons??

  Alt 22. Sep 2007, 10:57
hi
du kannst eine onKlick-Prozedur erstellen und dann im OI für alle buttons dieses onKlick-Ereignis einstellen. egal welchen button man klickt, es wird immer diese prozedur aufgerufen...

und rate mal was der parameter Sender bringt?
genau, hier steht das Objekt der dieses event ausgelöst hat, also der button auf den geklickt wurde.
blöd nur das der von typ TObject ist. aber du kannst ganz einfach casten:
Delphi-Quellcode:
procedure TKeyboardfenster.MGKeyboardbuttonClick(Sender: TObject);
var
  GecklickterButton: TButton;
begin
  if (Sender is TButton) then
  begin
    GecklickterButton := (Sender as TButton);
    GecklickterButton.caption := 'Ich wurde geklickt!';
  end;
end;
das verändert zB die caption des geklickten buttons. alternativ und ohne zusätzliche variable geht auch:
Delphi-Quellcode:
procedure TKeyboardfenster.MGKeyboardbuttonClick(Sender: TObject);
begin
  if (Sender is TButton) then
    (Sender as TButton).caption := 'Ich auch...';
end;
außerdem kannst du jedem button einen TAG geben, dh du schreibst (am besten im IO) in deinen ersten Button1.tag := 1 und in den zweiten 2 usw dann kannst ganz leicht schauen welcher button geklickt wurde:
if GecklickterButton.tag = 5 then // 5.button wurde angeklickt
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat