AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt kopieren

Ein Thema von Tanadirian · begonnen am 10. Sep 2004 · letzter Beitrag vom 10. Sep 2004
Antwort Antwort
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#1

Objekt kopieren

  Alt 10. Sep 2004, 12:31
Ich habe mehrere Images und eine Paintbox und will das man beim Drag&Drop statt des Mauszeigers das gezogene Image sieht. Deshalb erstelle ich ein neues Image dem ich das Picture des angeklickten Pictures zuweise und will es dann mit der Maus bewegen.
Hier der Code um das neue Image zu erstellen:

Delphi-Quellcode:
procedure TForm1.ImageXMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var ImageXCopy:TImage;
begin
ImageXCopy:=TImage.Create(TImage(Sender));
ImageXCopy.Left:=x;
ImageXCopy.Top:=y;
ImageXCopy.Picture.Assign(TImage(Sender).Picture);
ImageXCopy.BringToFront;
end;
Aber das neue Image wird nicht angezeigt. Woran könnte es liegen? Ich habe bisher noch nie Objekte kopiert.

mfG Tanadirian
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
-REBEC OF GINAZ
  Mit Zitat antworten Zitat
Benutzerbild von Bitworm
Bitworm

Registriert seit: 28. Jun 2004
Ort: Bockhorn
90 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Objekt kopieren

  Alt 10. Sep 2004, 12:39
Hi !

So wie ich das sehe ist Parent nicht gesetzt. Füge mal

Code:
ImageXCopy.Parent := TImage(Sender).Parent;
ein. Damit sollte es dann klappen (nicht getestet, aus dem Bauch raus).
Rolf Heinen
Bye und bis denne

Bitworm
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#3

Re: Objekt kopieren

  Alt 10. Sep 2004, 13:18
Jo, jetzt gehts, dankeschön!

mfG Tanadirian
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
-REBEC OF GINAZ
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Objekt kopieren

  Alt 10. Sep 2004, 13:23
Wichtig zum Verständnis: Der Owner ist für den Speicher verantwortlich und der Parent für das Zeichnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#5

Re: Objekt kopieren

  Alt 10. Sep 2004, 13:45
Ah gut zu wissen.
Jetzt hab ich auch gleich das nächste prob, ich will dem neuen Image eine Ereignissprozedur zuweisen

ImageXCopy.OnMouseMove:=TForm1.ImageXMouseMove(TImage(Sender), ssLeft ,TImage(Sender).Left,TImage(Sender).Top); aber bei ssLeft bekomme ich die Fehlermeldung:
"Inkompatible Typen: 'TShiftState' und 'Enumeration'" wieso das? ssLeft ist doch ein mgl Wert von TShiftState.
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
-REBEC OF GINAZ
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Objekt kopieren

  Alt 10. Sep 2004, 13:46
probier

ImageXCopy.OnMouseMove:=TForm1.ImageXMouseMove(TImage(Sender), [ssLeft] ,TImage(Sender).Left,TImage(Sender).Top);
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#7

Re: Objekt kopieren

  Alt 10. Sep 2004, 13:51
Danke, jetzt bekomme ich aber die Meldung " Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt"
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
-REBEC OF GINAZ
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#8

Re: Objekt kopieren

  Alt 10. Sep 2004, 14:05
Warum gibts du bei der Zuweisung Parameter an und noch TForm1.? Normalerweise sollte es doch so aussehen:
ImageXCopy.OnMouseMove := ImageXMouseMove;
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#9

Re: Objekt kopieren

  Alt 10. Sep 2004, 14:34
Mhh, jetzt gehts, ich dachte man müsste wie bei einer Funktion die Parameter mit übergeben und ohne Form1 hat er gemeckert!

Dankeschön

mfg Tanadirian
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
-REBEC OF GINAZ
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 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