AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi VirtualDrawTree: Sinnvolles automatisches Scrollen
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualDrawTree: Sinnvolles automatisches Scrollen

Ein Thema von s.h.a.r.k · begonnen am 8. Jan 2010 · letzter Beitrag vom 8. Jan 2010
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

VirtualDrawTree: Sinnvolles automatisches Scrollen

  Alt 8. Jan 2010, 01:38
Hallo zusammen,

ich habe gerade echt ein recht lustiges Problem, bei welchem ich so direkt nicht weiter kommt. Ich habe schon über die DP-Suche erfahren, dass es eine Einstellung des VirtualDrawTree (TreeOptions -> AutoOptions -> toDisableAutoscrollOnFocus) gibt, die das Scrollen beim Fokusieren eines Einträgs ändert. Ich beschreibe euch erst mal was das diese Einstellung überhaupt macht:

Deaktiviert (False, Standardeinstellung): Wenn diese Option deaktivert ist, so kann man mit der Tastatur in meiner Liste nach oben und unten blättern, so wie man es z.B. aus Outlook oder dem Windows Explorer kennt. Ist man am unterer Ende der sichtbaren List und es befinden sich darunter noch welche, so scrollt die List automatisch weiter nach unten, was ja auch wünschenswert ist. Nun ist es aber so, dass wenn ich weiter nach rechts scrolle und dann einen anderen Datensatz selektiere (Maus oder Tastatur), so scrollt er wieder komplett nach links und bleibt nicht weiter rechts stehen. Dieses Verhalten ist mir sehr suspekt.

Aktiviert (True): Wenn diese Option aktiviert ist, so kann ich wie beim deaktivierten Zustand nach rechts scrollen, aber wenn ich dann einen anderen Datensatz selektiere, so bleibt der vertiakel Versatz, so wie es jeder User eigentlich erwarten würde. Nur scrollt der VDT nicht weiter nach unten, wenn ich mit der Tastatur den nächsten, nicht sichtbaren Eintrag selektiere.

Kennt jemand eine Lösung, am besten über die Einstellungen des VDT, um diesen Umstand irgendwie zu umgehen?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: VirtualDrawTree: Sinnvolles automatisches Scrollen

  Alt 8. Jan 2010, 01:55
Hab mir gerade selbst die Lösung gegeben. Ich habe die besagte Option aktiviert, sodass nicht automatisch gescrollt wird. Das vertikale Scrollen habe ich dann über das Ereignis OnChange gelöst:
Delphi-Quellcode:
procedure TframeMain.vdtDataChange(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
begin
  if (not Assigned(node)) then exit;

  if (node = vdtData.GetFirstSelected) then
    vdtData.ScrollIntoView(Node, False, False);
end;
Die Methode ScrollBy() hatte auch nicht wirklich funktioniert.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:06 Uhr.
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