Hallo,
für eine Kartendarstellung verwende ich ein TImage. Nun möchte ich gern dynamisch auf dieser Karte mit Hilfe eines von TShape abgeleiteten "Kreis" Punkte markieren. Die dynamische Erzeugung der Punke ist nicht das Problem, allerdings brauche ich für den Kreis eine Zuweisung der Parent-Property. Da das TImage nicht den gesamten Client-Bereich des Formulars ausfüllt, sondern nun einen Teil, würde ich gern Kreis.Parent:=Image1; zuweisen - geht aber nicht, weil laut Compiler für Parent ein TWinControl gefordert wird und Image1 gehört nicht in diese Klasse (so verstehe ich die Compilermeldung).
Kann ich da irgendwie geschickt "casten" oder muss ich damit leben? (das wäre nicht so elegant, aber zur Not akzeptabel).
Danke und Gruss
GU_Meyer
PS: Für den Fall, dass die Frage doch in eine andere Kategorie gehört, bitte ich um entsprechende Verschiebung und Info
[gelöst] Dynamische TShapes und Parent-Zuweisung
[gelöst] Dynamische TShapes und Parent-Zuweisung
Zuletzt geändert von GU_Meyer am Fr 12. Jun 2015, 22:11, insgesamt 1-mal geändert.
Re: Dynamische TShapes und Parent-Zuweisung
Wozu willst du das? Du könntest doch z.B. auch Kreise direkt auf das Canvas vom Image zeichnen?!GU_Meyer hat geschrieben:Nun möchte ich gern dynamisch auf dieser Karte mit Hilfe eines von TShape abgeleiteten "Kreis" Punkte markieren.
Wenn es nur darum geht, dass das Shape hinter dem Image liegt, kannst du das Shape mit Shape.BringToFront nach vorn holen (bzw. mit Image.SendToBack das Image in den Hintergrund rücken).
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Dynamische TShapes und Parent-Zuweisung
Ja, könnte ich. Aber ich möchte die Kreise später nochmal einfach verschieben bzw. deren Größe ändern können. Außerdem finde ich so das "Löschen" der Kreise einfacher.Michl hat geschrieben:Wozu willst du das? Du könntest doch z.B. auch Kreise direkt auf das Canvas vom Image zeichnen?!GU_Meyer hat geschrieben:Nun möchte ich gern dynamisch auf dieser Karte mit Hilfe eines von TShape abgeleiteten "Kreis" Punkte markieren.
Das liest sich nach einer Lösung - so kann es funktionieren.Michl hat geschrieben:Wenn es nur darum geht, dass das Shape hinter dem Image liegt, kannst du das Shape mit Shape.BringToFront nach vorn holen (bzw. mit Image.SendToBack das Image in den Hintergrund rücken).
Dankeschön.
Gruss
GU_Meyer