![]() |
Fensterinhalt wird beim Ziehen nicht angezeigt
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich verwende folgenden Code, um TPanel's in einer Scrollbox zu bewegen.
Code:
Sobald das Objekt bewegt wird, "überwacht" ein Timer die x,y Positionen und führt Berechnungen durch. Das funktioniert wunderbar und sieht so aus wie im ersten Bild. Das hellblaue Objekt wird gezogen, der Timer berechnet die neue Einfügeposition und zeigt dort die blaue Linie an.
ReleaseCapture;
DraggingTermin.Perform(WM_SYSCOMMAND, $F012, 0); Nun das Problem. In unserer Terminalserverlandschaft sind so ziemlich alle visuellen Effekte ausgeschaltet, darunter auch "Fensterinhalt beim Ziehen anzeigen". Sieht dann wie in Bild2 aus. Ok, der Inhalt wird nicht angezeigt, das ist klar, ABER wieso kann ich nicht auf die Koordination zugreifen, bzw. zugreifen klappt natürlich, aber die bleiben fix beim Ursprungsobjekt und ändern sich erst, wenn das Objekt losgelassen wird. D.h. ich kann die blaue Linie nicht während dem Ziehen berechnen :-( Ich habe nun mehrere Möglichkeiten 1) den Anwender überzeugen, dass er auf die Linie verzichtet. Wird wohl nix, da er die ausdrücklich gefordert hat 2) den Kollegen von der Systembetreuung überzeugen, den visuellen Effekt wieder einzuschalten...wird auch schwierig 3) darauf hoffen, dass mir hier jemand einen Tipp gibt :-) Mir will nicht in den Kopf, warum dieser Effekt überhaupt auftritt, denn es wird ja "nur" der Fensterinhalt nicht angezeigt (lt. Checkbox Beschreibung!). Die Position verändert sich doch trotzdem, also muss es möglich sein, darauf zuzugreifen, oder :gruebel: Danke und sorry für die Ausschweifungen Christof |
AW: Fensterinhalt wird beim Ziehen nicht angezeigt
mhhh... vielleicht die Berechnung umstellen auf absolute Mauskoordinaten?
|
AW: Fensterinhalt wird beim Ziehen nicht angezeigt
Das wird schwierig, da die neue Einfügeposition vom Objekt abhängt (linke obere Ecke).
Wenn der Benutzer das Objekt gaaaanz rechts anklicken würde, dann müsste unter Umständen über den halben Bildschirm gezogen werden, bis der Mauszeiger eine neue Spalte erreicht. Ich MUSS also auf das Objekt zugreifen :-( |
AW: Fensterinhalt wird beim Ziehen nicht angezeigt
Ich meine nicht das Umstellen des ReleaseCapture, sondern lediglich das Zeichnen der Linie.
Bei ReleaseCapture die Mauskoordinaten merken und in Deinem "Timer" die relativen Änderungen für die Berechnung der Linienposition heranziehen. |
AW: Fensterinhalt wird beim Ziehen nicht angezeigt
Hm, verstehe, könnte ich versuchen...
Edit: Super ! Funktioniert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 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 by Thomas Breitkreuz