Bonjour à tous!
Après m'être arraché la moitié des cheveux sur ce problème, je me sens dans l'obligation de vous demander de sauver l'autre partie de mon crâne bientôt chauve
Je me connecte à une base de données pour récupérer des lignes, mais là où ça se complique, c'est que je vais devoir attaquer des bases possédant plusieurs centaines de milliers de lignes.
Je dois afficher ces données dans un CListCtrl, mais je ne récupère que 5000 lignes par 5000 lignes.
L'idée serait de dire :
Ma CListCtrl contient, par exemple, 100 000 lignes (SetScrollInfo)
Donc, quand j'affiche mes 5000 lignes dans le haut de la liste, j'ai une scrollbar verticale qui est affichée comme si la liste contenait bien mes 100 000 lignes.
Jusqu'ici tout va bien!

Mais ensuite, je demande à descendre plus bas dans la liste. Et si on descend en dessous des 5000 lignes, l'utilisateur voit du vide.
L'idée serait de rafraichir, au moment du relâchement de la scrollbar.
Je réussi à intercepter l'événement parfaitement, mais je n'arrive pas à dire à ma liste:
Maintenant tu affiches 5000 lignes (que j'ai nouvellement copié en mémoire) à l'endroit que je veux dans la liste, tout en gardant la même taille de scrollbar:

- Scrollbar calculée et affichée pour 100 000 éléments dans la liste
- 5000 lignes affichées entre la position (mettons) 60 000 et 65 000 (le reste des lignes de la liste est vide)
- Position de la Scrollbar cohérente avec la position des 5000 lignes par rapport à l'ensemble.

J'espère que j'ai été clair.
Mon problème est compliqué car je dois afficher les données de base de données ENORMES, dans une CListCtrl, sans pour autant saturer le serveur de requètes SELECT. Si vous avez une autre solution : JE SUIS PRENEUR!

Mais quoi qu'il en soit, s'il vous plait : AIDEZ MOI!
Merci d'avance