Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi erzeugtem button procedure zuweisen (https://www.delphipraxis.net/62768-erzeugtem-button-procedure-zuweisen.html)

Julzn 9. Feb 2006 10:36


erzeugtem button procedure zuweisen
 
tag,
ich hab zwar in der suche was gefunden, des will bei mir aber ned richtig funktionieren.
also bei mir sieht des foldendermaßen aus:

Delphi-Quellcode:
type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Timer1: TTimer;
   
  procedure ButtonClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

  private
    { private declarations }
  public
    { public declarations }
  end;

 
  type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object;

var
  Form1: TForm1;
  ButtonClick:TMouseEvent;
dann werden die buttons erstellt:

Delphi-Quellcode:
for loop1:=0 to ((n1*d1)-1) do begin
      Feld[loop1]:= TSpeedButton.Create(Form1);

      with Feld[loop1] do begin
           parent:= Form1;
           Name:= 'Feld'+IntToStr(loop1);
           Top:= 40+(((loop1-(loop1 mod n1)) div n1)*25);
           Left:= 20+((loop1 mod n1)*25);
           Width:= 25;
           Height:= 25;
           Tag:=loop1;
           OnMouseUp:=ButtonClick;
           end;    
      end;
un dann die procedure die aufgerufen werden soll:

Delphi-Quellcode:
procedure TForm1.ButtonClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//is ja egal ob hier was steht
end;
ich krieg aber andauernd für die zeile "Feld[loop1].OnMouseUp:=ButtonClick;" den fehler: "wrong number of parameters specified"

wo ist das problem??

Schaedel 9. Feb 2006 10:53

Re: erzeugtem button procedure zuweisen
 
löse die Procedure doch über den Sender aus.
If Sender = Button dann blar .. .

Julzn 9. Feb 2006 10:58

Re: erzeugtem button procedure zuweisen
 
wo muss ich die abfrage dann hinschreiben??

McLane 9. Feb 2006 11:02

Re: erzeugtem button procedure zuweisen
 
Referenzier über die Adresse:
Delphi-Quellcode:
OnMouseUp:=@ButtonClick;

Julzn 9. Feb 2006 11:08

Re: erzeugtem button procedure zuweisen
 
THX, des geht jetzt.
un is ned mal so aufwändig :-D

EDIT: des geht ja dann aber nur wenn ich auf den button links klicke.
ich würd aber gern nen links UND rechts klick feststellen un dann entsprechend verschiedene sachen ausführen.

freak4fun 9. Feb 2006 11:37

Re: erzeugtem button procedure zuweisen
 
Wenn man hier die Suche benutzt, Hier im Forum suchenbutton AND rechtsklick findet man folgendes Ergebnis. :zwinker:

MfG
freak

Julzn 9. Feb 2006 11:43

Re: erzeugtem button procedure zuweisen
 
ok, hab den fehler, lag an was andrem...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz