Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht (https://www.delphipraxis.net/164235-virtualtreeview-vst-autoscroll-beim-verschieben-von-spalten-klappt-nicht.html)

delphitrixer 3. Nov 2011 16:39

VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Hallo

Ich habe in meinem Projekt eine VST mit ca. 50 Spalten. Mit der Maus kann man per Drag&Drop die Spaltenreihenfolge verändern was soweit super klappt. Da es aber so viele Spalten sind und nicht alle auf dem Screen sichtbar sind, möchte ich, dass wenn ich eine Spalte verschiebe, automatisch nach rechts oder links gescrollt wird, bis ich die Spalte platziere.

Ich habe schon mit den Properties AutoScroll, TreeOptions-toAutoScroll etc. probiert. Ich bringe die VST aber irgendwie nicht dazu zu scrollen, wenn ich über den Borderrand schiebe. AutoScrollDelay etc. habe ich auch geprüft.

Hat schon jemand Erfahrungen diesbezüglich gemacht?

Danke
Bruno

delphitrixer 4. Nov 2011 07:16

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Guten Morgen Zusammen

Ich habe mir nochmals die diversen Demos der VST angeschaut. Auch dort bin ich leider auf keinen Hinweis gestossen, wie ich die VST zum horizontal scrollen bringe, wenn ich Spalten verschiebe.

Hat das noch niemand gebraucht?

Sailor 4. Nov 2011 08:10

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Du mußt in OnMouseMove die Cursorposition überprüfen. Wenn sich die einem Rand nähert, dann das Scrollen um eine bestimmten Betrag in die entsprechende Richtung manuell durchführen

delphitrixer 4. Nov 2011 08:17

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Hallo Sailor

Ich dachte, die VST macht das mit Ihren Optionen hoAutoScroll etc. von selbst. Wozu sind dann diese Properties und Methoden?

delphitrixer 8. Nov 2011 17:07

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Sorry, aber irgendwie hat mich der Tip von Sailor nicht weitergebracht.

Auf OnMouseMove zu scrollen wenn ich an den Rand kommt bringt mir nicht viel. Die VST soll nur dann scrollen, wenn ich eine Spalte verschiebe und diese z.B. an das Ende verschieben will. So wie das halt in jeder vernüftigen Software mit einer Spaltenansicht der Fall ist.

Hat das denn noch niemand gebraucht? Keiner einen Lösungsansatz?

ConnorMcLeod 9. Nov 2011 06:14

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Passen AutoScrollDelay und AutoScrollInterval?
Vllt hilft:
function ScrollIntoView(Column: TColumnIndex; Center: Boolean): Boolean; overload;

delphitrixer 9. Nov 2011 07:34

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
AutoScrollDealy etc. ist alles gesetzt. Das Problem ist eigentlich, dass ich kein Event finde, dass während des Draggen des Spaltenheaders feuert.

Ich hab mal einen Screenshot angehängt, damit man sich ein Bild machen kann, wie ich die Spalte verschiebe. Vielleicht hilft das für einen Lösungsvorschlag weiter. Es ist ja eingentlich kein richtiges Drag&Drop sondern eine "interen" Funktion von VST, um Spalten umzusortieren.

Ich glaube die ganzen AutoScroll-Funktionen sind nur für Drag&Drop von Nodes zu gebrauchen.

ConnorMcLeod 9. Nov 2011 07:48

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Wie sieht's damit aus; ich meine nur von der Idee her, der macht egtl was anderes, aber ...

delphitrixer 9. Nov 2011 07:58

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Danke für den Link. Ich habe den Code kurz in einem Demo-Projekt angeschaut. Hilft leider nicht sonderlich weiter.

ConnorMcLeod 9. Nov 2011 08:04

AW: VirtualTreeView (VST) AutoScroll beim verschieben von Spalten klappt nicht
 
Kannst Du ein rudimentäres Demoprojekt online stellen, damit ich mir nicht alles selbst zusammenbasteln muss?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz