OVH Cloud OVH Cloud

treeview drag drop et défilement liste

1 réponse
Avatar
Driss HANIB
Bonjour à tous,

je suis en train de m'essayer à faire un drag drop sur des noeuds dans un
treeview

qui est organisé de la sorte

__Volet1
__ article 1
__ article 2



__ article n

__ Volet 2
__ article 21
__ article 22

je peut rajouter autant de volets que je veux.. (en pratique pas plus de 5
..)
au départ, un seul volet est créé avec tous les articles sous ce premier
volet
mon programme doit pouvoir passer un article d'un volet à un autre avec des
'manip' sur des tableaux en parallèle.
Tout ceci est fait ...
Donc je ne peux que transférer un article d'un volet à un autre.
Or mon treeview n'est pas très haut. et si la liste des articles ajoutés
sous le volet 1 est rop grande, elle dépasse la hauteur du treeview.
Donc si je crée un volet, il se crée à la fin du treeview.

lors de mon Drag, si je prends le premier article et que je veuille le
mettre dans le volet suivant, celui-ci n'est pas visible et je peux donc pas
'l'amener' jusqu'à ce volet destination.
Or si on regarde l'explorer Windows (dans la fenetre des dossiers) et qu'on
veuille dcopier un dossier dans un autre situé en dessous de la ligne basse,
la position de la souris est détectée et l'ascenseur 'remonte
automatiquement' la liste des dossiers.
idem si on veut 'monter'

Donc je voudrais pourvoir obtenir le même effet.
en espérant avoir été compris
merci pour vos pistes.

Driss

1 réponse

Avatar
Vincent Guichard
Driss HANIB a écrit :

Bonjour,

Je ne sais pas comment tu gères ton Drag 'n Drop, mais tu peux peut-être
utiliser un code du genre du suivant pour gérer le défilement.

Vincent Guichard

Private Sub TreeView1_MouseMove(Button As Integer, Shift As Integer, x
As Single, y As Single)
If Button = vbLeftButton Then
On Error Resume Next
TreeView1.HitTest(x, y).EnsureVisible
End If
End Sub