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 Event für Komponente die während der Laufzeit erstellt wurde (https://www.delphipraxis.net/51722-event-fuer-komponente-die-waehrend-der-laufzeit-erstellt-wurde.html)

ledoerr 17. Aug 2005 17:58


Event für Komponente die während der Laufzeit erstellt wurde
 
Hallo ihr dadrausen im weiten Netz ;-)

vielleicht könnt ihr mir bei einem kleinem Problem helfen.

Ich habe eine Komponente während der Laufzeit erstellt und möchte diese jetzt verschieben können.

das verschieben einer von anfang an bestehenden Komponente ist kein problem.



Delphi-Quellcode:
    Procedure pvsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure pvsMouseUp(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure pvsMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Das verschieben wird über diese drei Proceduren gesteuert, sie sind jeweils mit dem entsprechenden Event der komponente gekoppelt. (diese Komponente besteht schon von anfang an)

Jetzt sagt der Benutzer er möcht noch X zusätliche Komponenten des selben typs, diese müssen auch verschiebbar sein.

hier die erstellung der Komponenten :
Delphi-Quellcode:

 myLabel := TpsvTransLabel.Create(Labels);
   myLabel.Parent := Form2;
   myLabel.Name := Name;
   myLabel.Caption := Caption;
   myLabel.Width := width;
   myLabel.Height := height;
   myLabel.Left := Left;
   myLabel.Top := Top;
   myLabel.Paint;
   myLabel.OnMouseDown := ????;
   myLabel.OnMouseUp := ????;
   myLabel.OnMouseMove:= ????;
Also was genau muss an die stelle der ???? . Klar das da der aufruf hin muss aber wie muss der aussehen wenn ich diese Proceduren aufrufen möchte

Delphi-Quellcode:
    Procedure pvsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure pvsMouseUp(Sender: TObject;Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure pvsMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
vielen Dank im voraus

ledoerr :coder2:

omata 17. Aug 2005 18:10

Re: Event für Komponente die während der Laufzeit erstellt w
 
Delphi-Quellcode:

   myLabel.OnMouseDown := pvsMouseDown;
   myLabel.OnMouseUp := pvsMouseUp;
   myLabel.OnMouseMove:= pvsMouseMove;
MfG
Thorsten

Jelly 17. Aug 2005 18:20

Re: Event für Komponente die während der Laufzeit erstellt w
 
Thorsten hat absolut richtig geantwortet. Ergänzend will ich nur noch erwähnen, dass in den Event Methoden unbedingt das Sender Objekt genutzt werden muss, um die zur Laufzeit erzeugte Komponente auch im Ereignis zu identifizieren.

ledoerr 18. Aug 2005 09:48

Re: Event für Komponente die während der Laufzeit erstellt w
 
Danke für die schnellen antworten.

wie mache ich das mit dem sender ? kannst du mir ein Beispiel geben ?

gruss

ledoerr

leddl 18. Aug 2005 09:51

Re: Event für Komponente die während der Laufzeit erstellt w
 
Delphi-Quellcode:
if (Sender as TLabel).Name = 'bla' then


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 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