[gelöst] Dynamische TShapes und Parent-Zuweisung

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
GU_Meyer
Beiträge: 66
Registriert: Mo 21. Apr 2014, 10:22

[gelöst] Dynamische TShapes und Parent-Zuweisung

Beitrag von GU_Meyer »

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 :oops:
Zuletzt geändert von GU_Meyer am Fr 12. Jun 2015, 22:11, insgesamt 1-mal geändert.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Dynamische TShapes und Parent-Zuweisung

Beitrag von Michl »

GU_Meyer hat geschrieben:Nun möchte ich gern dynamisch auf dieser Karte mit Hilfe eines von TShape abgeleiteten "Kreis" Punkte markieren.
Wozu willst du das? Du könntest doch z.B. auch Kreise direkt auf das Canvas vom Image zeichnen?!

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; 

GU_Meyer
Beiträge: 66
Registriert: Mo 21. Apr 2014, 10:22

Re: Dynamische TShapes und Parent-Zuweisung

Beitrag von GU_Meyer »

Michl hat geschrieben:
GU_Meyer hat geschrieben:Nun möchte ich gern dynamisch auf dieser Karte mit Hilfe eines von TShape abgeleiteten "Kreis" Punkte markieren.
Wozu willst du das? Du könntest doch z.B. auch Kreise direkt auf das Canvas vom Image zeichnen?!
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: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).
Das liest sich nach einer Lösung - so kann es funktionieren.
Dankeschön.
Gruss

GU_Meyer

Antworten