Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 2015
-
10 août 2010 à 11:29
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
10 août 2010 à 16:39
Bonjour,
Comment scroller une listebox à l'aide d'API en déplacement le curseur de la scroll bar et pas l'index de la listebox ?
Scroller : faire défiler le curseur de la barre de défilement.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 août 2010 à 14:58
Salut
C'est dommage parce que le EnsureVisible sur un Item est justement très pratique pour cela.
Oui, par les APIs ont peut tout faire.
Oups, j'étais en train d'écrire et je m'aperçois que tu parles d'une ListBox et pas ListView.
Si tu as la possibilité (*) d'utiliser une ListView à la place, c'est beaucoup plus souple.
(*) Fichier MSCOMCTL.ocx présent sur toutes les machines depuis XP
Ce doit être une histoire de SendMessage vers la ListView avec une constante commençant par LVM_ (ou EM_) qui doit contenir le mot Scroll : Une petite recherche rapide dans ApiViewer pour trouver une constante comme ça et, ... Oui : LVM_SCROLL me parait tout indiqué.
Un petit tour de Google ou Bing avec "vb6 sendmessage lvm_scroll" et on doit bien trouver des bouts de code à étudier.
Par contre pour la ListBox, à priori les constantes commencent par LB_ mais aucun ne me met la puce à l'oreille.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 10 août 2010 à 16:05
Merci. Oui en effet c'est plus simple avec une listview. Mais dans la macro excel dont je dispose, je n'ai pas le droit de tout modifier. Ca fait un moment je cherche à utiliser les API pour déplacer le curseur de la scrollbar d'une listebox. Mes utilisateurs ne veulent pas d'un scroll par la listindex mais bien par le curseur du scrollbar. J'ai fait plusieurs essais via sendmessage mais sans succès. Voir mon précédent post :
http://www.vbfrance.com/forum/sujet-VBA-SENDMESSAGE-LISTBOX_1458747.aspx Si vous avez idée pour résourdre mon problème précédent, ça réglerait mes deux posts.