![]() |
TGraphicControl verschieben
hi Leute,
Matzel hat hier ![]() Bsp. für TWinControl im Ereignis OnMouseDown:
Delphi-Quellcode:
Gibt es sowas auch für TGraphicControl?
//Fängt alle Mausereignisse ab
ReleaseCapture; // mit TWinCotrol verschieben, $F012 verschiebt das Control TWinControl(self).Perform(WM_SYSCOMMAND, $F012, 0); Das hat bei mit nicht geklappt:
Delphi-Quellcode:
Gruß oki
//Fängt alle Mausereignisse ab
ReleaseCapture; // mit TWinCotrol verschieben, $F012 verschiebt das Control TControl(self).Perform(WM_SYSCOMMAND, $F012, 0); |
Re: TGraphicControl verschieben
Das wird damit zu tun haben, dass TGraphicControl kein Handle hat. Du könntest aber von TCustomControl ableiten.
|
Re: TGraphicControl verschieben
Hallo oki,
in ![]() Gruß Hawkeye |
Re: TGraphicControl verschieben
@DaddyH: Das ist so richtig; nutze ich auch für meine anderen Kompos. Nun ist aber das Problem, das ich Verbindungslinien zwischen meinen Kompos brauche. Bei TGraphicControl wird nur die Linie die ich zeichne angezeigt. Bei TCustomControl auch der Hintergrund. Somit verdeckt das Control dann meine anderen Komponenten, was TGraphicControl nicht macht.
@Hawkeeye219: Ich nenne das mal den "klassischen Weg". Die Variante von Matzel ist halt sehr elegant. Bei dem von dir gezeigten Code hatte ich immer das Gefühl, das das Control manchmal hinter der Mouse nicht so richtig hinterher kommt. Falls nicht noch einer ne Idee für Matzels Weg hat werd ich aber diese nehmen. Dank und Gruß oki [edit] Text verständlicher gemacht. [/edit] |
Re: TGraphicControl verschieben
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
für ein TLabel welches mit Drag Drop verschoben wird, hatte ich mal eine kleine Demo geschrieben. Das ist natürlich auch komplizierter als mit dem Code von Mazel. Eventuell kannst du davon ja was gebrauchen. |
Re: TGraphicControl verschieben
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Bitsetter,
Dank für deine Hilfe. Leider hilft mir das nicht weiter. Liegt aber an meiner halb konkreten Fragestellung. Ich baue mir gerade eine Kompo, mit der ich einzelne Controls auf meinem Bildschirm miteinander graphisch verbinden will. Das ist leide komplizierter als ich gedacht habe. Wer Visio und die enthaltenen Verbinder kennt, der weiß was ich meine. Nun hab ich hier mehrere Probleme: - nur die Linien und Punkte dürfen gezeichnet werden, - das dahinter befindliche Control muß transparent sein um andere Controls nicht zu verdecken, - durch das Ziehen der Punkte müssen die Linien "mitkommen", - wird über den Rand des Controls gezogen, muß sich die Größe des Controls logischerweise ändern, - Beim verschieben einer "äußeren" Linie nach "innen" soll sich das Control automatisch auf die notwendige Größe reduzieren, Das nur mal für den Grafikteil. Ich häng mal einen Screenshot ran. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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