Bonjour à tous,

J'espère poster dans la bonne section.

Je lutte depuis hier car je ne parviens à lier, via les API et le subclassing, le mouvement d'un scrollbar au contenu d'un listview.

Je m'explique.
Je cherche à synchroniser deux listviews, listview1 et listview2.
Première solution, que je ne souhaite pas retenir mais qui fonctionne. A chaque clic sur la flèche du scrollbar de la listview1, le scrollbar de la listview2 bouge d'autant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Function WindowProc(hwnd As Long, Msg As Long, wParam As Long,lParam As Long) As Long
 
Dim sci As SCROLLINFO
 
If hwnd = ListView1.hwnd Then 'si le handle est celui de la Listview1
Select case Msg
Case WM_HSCROLL  'S'il s'agit du scrollbar horizontal de la Listview1
Call SendMessage(ListView2.hwnd, WM_HSCROLL, wParam, ByVal 0&)
end select
end if
WindowProc = CallWindowProc(GetProp(hwnd, "OldWindowProc"), hwnd, msg, wParam, lParam)
end function.
Seconde solution, qui ne fonctionne qu'à moitié. Je cherche à ce que chaque déplacement du scrollbar de la listview1 (l'utilisateur fait varier le scroll avec sa souris) se matérialise sur le scrollbar de la listview2. J'y parviens mais le contenu du listview2, lui, ne bouge pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function WindowProc(hwnd As Long, Msg As Long, wParam As Long,lParam As Long) As Long
 
Dim sci As SCROLLINFO
 
If hwnd = ListView1.hwnd Then 'si le handle est celui de la Listview1
Select case Msg
Case WM_HSCROLL  'S'il s'agit du scrollbar horizontal de la Listview1
With sci ' récupération de tous les paramètres du scrollbar
.cbSize = Len(sci)
 .fMask = SIF_ALL
End With
Call GetScrollInfo(hwnd, SB_HORZ, sci)
Call SetScrollInfo(ListView2.hwnd, SB_HORZ, sci, True)'défini les valeurs du scrollbar de la listview1 au scrollbar de la listview2.
end select
end if
WindowProc = CallWindowProc(GetProp(hwnd, "OldWindowProc"), hwnd, msg, wParam, lParam)
end function.
Ici, le scrollbar de la listview2 varie mais nullement le contenu de la listview2...
Est ce que quelqu'un pourrait m'aider svp ???

Merci d'avance,

Quicksilv86