Delphi-PRAXiS

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/)
-   -   Delphi TreeView und scrollen wie? (https://www.delphipraxis.net/22997-treeview-und-scrollen-wie.html)

ibp 27. Mai 2004 08:22


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é

Sharky 27. Mai 2004 08:26

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?

ibp 27. Mai 2004 08:28

Re: TreeView und scrollen wie?
 
nö - eine idee woran es liegen könnte ?

ibp 27. Mai 2004 19:40

Re: TreeView und scrollen wie?
 
hat jemand eine ahnung woran es liegen könnte?

ibp 28. Mai 2004 09:48

Re: TreeView und scrollen wie?
 
:cat:

phXql 28. Mai 2004 09:57

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..

MrKnogge 28. Mai 2004 10:26

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.

ibp 28. Mai 2004 11:53

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]

kico 17. Jun 2004 12:56

Re: TreeView und scrollen wie?
 
im Dragover event folgendes einfügen:

Delphi-Quellcode:
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);
dann sollte es funktionieren...

[edit=MrSpock]Code Tags eingefügt. Mfg, MrSpock[/edit]

ibp 17. Jun 2004 13:27

Re: TreeView und scrollen wie?
 
funzt leider nicht ... :pale:

ibp 17. Jun 2004 13:49

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 ?

sieppl 7. Sep 2004 09:43

Re: TreeView und scrollen wie?
 
Zitat:

Zitat von ibp
.. 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 ?

konntest du das problem mittlerweile lösen? kannst du diese posten?

ibp 7. Sep 2004 09:50

Re: TreeView und scrollen wie?
 
...nein leider noch nicht !

sieppl 7. Sep 2004 10:08

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..

ibp 7. Sep 2004 10:26

Re: TreeView und scrollen wie?
 
... so funktionierts !


Delphi-Quellcode:
  // 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
und das ganze im treeview OnDragOver ereignis

gruß rené

sieppl 7. Sep 2004 11:22

Re: TreeView und scrollen wie?
 
Einfach super! :hello:

madina 11. Jan 2006 09:54

Re: TreeView und scrollen wie?
 
Hallo,

gibt es auch mal ein "SB_LINELEFT und SB_LINERIGHT" ??

mfg

ibp 11. Jan 2006 10:46

Re: TreeView und scrollen wie?
 
jupp es gibt : WM_HSCROLL und SB_LINELEFT, SB_LINERIGHT


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 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