TShape zeichnen

Rund um die LCL und andere Komponenten
Antworten
grebaldi
Beiträge: 5
Registriert: Mo 25. Aug 2008, 23:37

TShape zeichnen

Beitrag von grebaldi »

Guten tag, freunde!

Frage: Kann ich es schaffen, dass ein TShape über eine Listbox gezeichnet wird?

Benutzeravatar
theo
Beiträge: 10922
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Hallo

http://www.tty1.net/smart-questions_de.html#goal" onclick="window.open(this.href);return false;

Beschreibe dein Ziel, sonst versteht keiner was das Ganze soll.

grebaldi
Beiträge: 5
Registriert: Mo 25. Aug 2008, 23:37

Beitrag von grebaldi »

Es wird ein Drag&Drop zwischen einem label und einer ListBox durchgeführt. Das Label allerdings soll auf seiner Position bleiben.
Durch diesen Vorgang werden Informationen in ein dafür vorgesehenes Objekt eingetragen.

Da der Nutzer später zwischen verschiedenen, andersfarbigen Labels auswählen kann, soll bei Beginn des Drag&Drop-Vorgangs der Maus ein Shape angeheftet werden (was ja auch schon funktioniert). Bewege ich die Maus nun über die ListBox, verschwindet das Shape allerdings darunter und ist nicht mehr zu sehen, was dem ursprünglichen Zweck nicht mehr dienlich ist.

Ich hoffe, ich habe es einigermaßen nachvollziehbar dargestellt :)

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Eigentlich sollte das zur Laufzeit kein Problem da stellen.
Du kannst natürlich ein TShape oder auch andere Komponenten über andere legen. Müsste eigentlich klappen.

Evlt. geht es mit einem kleinen Trick: packe das TShape auf ein TPanel. Das TPanel verschiebst du dann.

Ich kann mir aber immer noch nicht genau vorstellen für was das gut sein könnte...
MFG
Michael Springwald

alexander
Beiträge: 423
Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:

Beitrag von alexander »

der befehl um etwas nach vorne zu holen ist:
shape.bringtofront
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu

grebaldi
Beiträge: 5
Registriert: Mo 25. Aug 2008, 23:37

Beitrag von grebaldi »

Okay, es geht tatsächlich nicht. Im Gegensatz zu z.B. TListBox erbt TShape nicht von TWinControl... Das heißt man kann ein TShape generell nicht über ein TWinControl legen.

Ich habs jetzt anders gelöst, aber danke für eure Hilfe!

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

und wie hast du es gelöst ?
Eigentlich sollte das aber gehen. Ich verstehe nicht warum es nicht gehen sollte.
Hast du mal eine Test Umgebung ?
MFG
Michael Springwald

grebaldi
Beiträge: 5
Registriert: Mo 25. Aug 2008, 23:37

Beitrag von grebaldi »

ich hab die funktion weggelassen^^

man sieht es schon in der ide, wenn du da ein Shape und eine Listbox erzeugst, kannst du das shape in z-Richtung nach vorn verschieben, bis es dir im Gesicht hängen müsste. Wenn du es dann aber in der IDE bewegst, verschwindet es trotzdem unter der listbox. So ist es eben auch im laufenden programm...

Ist mit Labels übrigends genau das gleiche^^

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Achso... das ist aber ein Lazarus Fehler den ich schon in meiner BUG Listen Thread eingetragen haben müsste...

Das gleiche Passiert auch wenn du ein Timer über die Listbox bewegst.... warum das so ist weiß ich auch nicht genau...
MFG
Michael Springwald

Antworten