![]() |
Zur Laufzeit erzeugt (onemousedown?)
Hi,
Ich hab ein kleines Problem, Ich erzeuge ein Image zur Laufzeit. wie kann ich diesem ein onemousedown Ereignis zuweisen? LG |
Re: Zur Laufzeit erzeugt (onemousedown?)
Delphi-Quellcode:
private
{ Private-Deklarationen } procedure MyOnMouseDownProcedure(Sender:TObject;Button:TMouseButton;Shift:TShiftState;x,y:integer);
Delphi-Quellcode:
procedure TForm1.MyOnMouseDownProcedure(Sender:TObject;Button:TMouseButton;Shift:TShiftState;x,y:integer);
begin // Dein Source Code end; procedure TForm1.ErzeugeMeinImage; var MyImage:TImage; begin MyImage:=TImage.create(self); with MyImage do begin width:=50; height:=50; top:=10; left:=10; parent:=self; OnMouseDown:=MyOnMouseDownProcedure; end; end; |
Re: Zur Laufzeit erzeugt (onemousedown?)
Danke :)
|
Re: Zur Laufzeit erzeugt (onemousedown?)
Ich hätte da noch eine Frage:
Da das Bild erst zur Laufzeit erzeugt wird, kann ich diesem ja nichts zuweisen. Also ich erstelle das Bild mit dem Namen "test" zur Laufzeit:
Delphi-Quellcode:
Ein Timer soll dieses jede Sekunde 1 Pixel bewegen, nur wie spreche ich es an, den name der Komponente kennt Delphi erst nach dem Start.
Nickbild:= TImage.Create(self);
Nickbild.name:='geher'; Nickbild.show; LG |
Re: Zur Laufzeit erzeugt (onemousedown?)
Na mit Nickkbild, was denn sonst. Und einen Namen brauchst du eigentlich nicht vergeben.
|
Re: Zur Laufzeit erzeugt (onemousedown?)
Die Procedur timer ..
kennt aber Nickbild noch nicht ! verstehst du? |
Re: Zur Laufzeit erzeugt (onemousedown?)
Hä? Der Timer wird dann gestartet, wenn das Bild erzeugt wurde, dann sollte er es auch kennen. Das Bild wiederum muss vom Timer doch gar nichts wissen.
|
Re: Zur Laufzeit erzeugt (onemousedown?)
Hier mal der Code mit du weist was ich meine:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var Nickbild:TImage; begin Nickbild:= TImage.Create(self); Nickbild.Parent := Form1; Nickbild.picture.LoadFromFile('taler.gif'); Nickbild.show; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Nickbild.left:=Nickbild.left+2; <---- Nickbild erkennt er nicht kann also garnicht erst starten end; end. |
Re: Zur Laufzeit erzeugt (onemousedown?)
Ja, wenn man Nickbild als lokale Variable deklariert, ist sie anschließend nicht mehr bekannt. Mach mal ein privates Feld Deiner Form daraus.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz