![]() |
TreeView und scrollen wie?
Hallo,
da Problem ist, wenn ich einen Knoten im Baum per drag&drop verschieben möchte, das Ziel aber ausserhalb des sichtbaren bereichs im Baum liegt, wie kann ich automatisch die Baumansicht dann nach oben bzw. unten scrollen? Gibt es da ein Befehl? Habe nichts gefunden in der OH. MfG René |
Re: TreeView und scrollen wie?
Morsche ibp,
wird nicht automatisch gescrollt wenn Du mit dem Cursor in den oberen bzw. unteren Bereicht des Treeview kommst? |
Re: TreeView und scrollen wie?
nö - eine idee woran es liegen könnte ?
|
Re: TreeView und scrollen wie?
hat jemand eine ahnung woran es liegen könnte?
|
Re: TreeView und scrollen wie?
:cat:
|
Re: TreeView und scrollen wie?
gibts da nich sowas wie TreeItem.MakeVisible oder .EnsureVisible? Hab grad kein delphi zu hand, deswegen kann ich jetzt nich nachschauen..
|
Re: TreeView und scrollen wie?
Aber bei MakeVisible, müsstest du ja wissen welches du sichtbar machen möchtest,
also müsstest du immer das item herausfinden, welches gerade unter dem unteren Rand bzw. über dem oberen Rand liegt. Aber wenn du den vertikalen Scrollbalken anzeigen lässt, kannst du scrollen, indem du mit der Maus über einen der beiden Pfeile bist. PS: Was das pushen angeht, so reicht es glaub wenn du nach 24-48 Stunden ohne Antwort pushst. |
Re: TreeView und scrollen wie?
der vertikale scrollbalken ist zu sehen.
wenn ich das drag&drop item per maus bewege und erneut über den scrollbalken die maus drücke, dann ist das item da wo es vorher war. ist bei zb word auch so. nur dort scrollt der text/baum, wenn man mit dem aktivierten item an den oberen oder unteren rand kommt von alleine! das will ich auch haben! warum geht dem nicht? :wall: und zum pushen, es ist dringend daher :angle: [edit=Sharky]Ob dringend oder nicht. Das pushen ist bei uns, wie bekannt, nicht erwünscht ;-) Mfg, Sharky[/edit] |
Re: TreeView und scrollen wie?
im Dragover event folgendes einfügen:
Delphi-Quellcode:
dann sollte es funktionieren...
if y < 15 then SendMessage(TreeView.Handle, WM_VSCROLL, SB_LINEUP, 0)
else if TreeView.Height - y < 15 then SendMessage(TreeView.Handle, WM_VSCROLL, SB_LINEDOWN, 0); [edit=MrSpock]Code Tags eingefügt. Mfg, MrSpock[/edit] |
Re: TreeView und scrollen wie?
funzt leider nicht ... :pale:
|
Re: TreeView und scrollen wie?
Liste der Anhänge anzeigen (Anzahl: 1)
ooops... funz doch, man sollte bei zwei treeviews das event auch dem richtigen zuordnen.
thnx @ kico .. hast du auch noch ne idee parat für folgendes ... wenn nun beim drag der baum gescrollt wird, dann bleibt eine spur ähnlich einer mausspur im treeview sichtbar, das ist net jut ? |
Re: TreeView und scrollen wie?
Zitat:
|
Re: TreeView und scrollen wie?
...nein leider noch nicht !
|
Re: TreeView und scrollen wie?
kann man beim scrollen nicht eine message an den treeview absetzen, die diesen zum neuzeichnen auffordert? habe jetzt leider den befehl nicht parat..
|
Re: TreeView und scrollen wie?
... so funktionierts !
Delphi-Quellcode:
und das ganze im treeview OnDragOver ereignis
// scrollen vom treeview wenn drag richtung rand gezogen wird
if y < 60 then // hoch begin SendMessage(TreeView.Handle, WM_VSCROLL, SB_LINEUP, 0); // scrollen erzwingen TreeView.Invalidate // wegen verschmieren der graphik end // if else if TreeView.Height - y < 60 then // runter begin SendMessage(TreeView.Handle, WM_VSCROLL, SB_LINEDOWN, 0); // scrollen erzwingen TreeView.Invalidate // wegen verschmieren der graphik end; // else if gruß rené |
Re: TreeView und scrollen wie?
Einfach super! :hello:
|
Re: TreeView und scrollen wie?
Hallo,
gibt es auch mal ein "SB_LINELEFT und SB_LINERIGHT" ?? mfg |
Re: TreeView und scrollen wie?
jupp es gibt : WM_HSCROLL und SB_LINELEFT, SB_LINERIGHT
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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