Listbox

blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015 - 30 déc. 2006 à 19:51
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 31 déc. 2006 à 13:46
Slt

comment récupérer les info d'un scroll ver le haut ou vers le bas d'une listbox  quand elle est remplie et possède une barre de défilement sur ca droite.

exemple si j'apuis sur la flèche  en bas a droit de  la listebox pour faire defilé ce qui vient en dessous. j'aimerais savoir  de combien  de case je suis descendu

29 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 déc. 2006 à 20:04
Salut,

Je ne sais pas si ça peut t'aider, mais tu peux au moins récupérer l'index de l'item visible placé le plus haut

Private Sub List1_Scroll()
    MsgBox List1.TopIndex
End Sub

MPi
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 20:16
Salut,

et sinon, en déclarant une variable Static, tu peux compter le nombre de fois que ç'a été scrollé

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 20:20
oui merci ce exactement ce que je voulais. Mais le problème est que cela ne marche pas avec la roulette de la souris ta pas une idée
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 20:25
le coup de la variable static j'ai pas trop comprit ce que ca voulais dire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 20:33
Hélas je ne peux tester (je suis avec mon pc portable et donc pas de souris) mais pour le static, regarde dans l'aide vb, ce sera peut-être plus explicit que mon explication mais en gros, la valeur d'une variable static reste en mémoire le temps de l'exécution du dev :

Public CountScroll As Byte 'dans les déclarations

Private Sub List1_Scroll()
      Static bCountScroll As Byte
   bCountScroll =  bCountScroll + 1
   CountScroll = bCountScroll
End Sub

Private Sub NombreScroll()
   MsgBox CountScroll
End Sub
~
<small> Mortalino </small> ~

Par contre il faut déclarer une autre variable public afin d'accéder à la valeur

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 déc. 2006 à 20:37
Une variable peut être déclarée Static dans une procédure. Elle gardera sa valeur même si tu sors de cette procédure. C'est un peu comme une variable Global mais elle n'est active que dans une procédure donnée.

Par contre, dans l'événement Scroll, si tu cliques sur un des boutons du Scrollbar, ça te donne le nombre de fois que que tu a utilisé le Scroll, mais ça ne te donne pas la position de cette liste

ex:
Private Sub List1_Scroll()
    Static NombreDeClick as integer
   
    NombreDeClick  = NombreDeClick  + 1
    MsgBox NombreDeClick
End Sub

Donc, si tu montes ou tu descends, le nombre va toujours augmenter

MPi
0
Dev_tomandtom Messages postés 8 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 3 janvier 2007
30 déc. 2006 à 20:40
Excusez moi pour le squatte mais ya t'il possibilité de savoir si l'utilisateur a double-cliqué sur un item du listbox ?

je ne vois pas d'evenement de ce type dans la liste d'evenements.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 déc. 2006 à 20:42
Si, il y a
Private Sub List1_DblClick()

MPi
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 déc. 2006 à 20:47
La bonne réponse me semble avoir déjà été donnée par MPI, non ?

Utilisation de la valeur topindex

Elle est forcément proportionnelle à celle de la valeur de l'ascenseur ! Et comme cet ascenseur ne peut avancer de fractions d'articles, l'affaire me parait parfaitement conclue avec topindex !


 
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 20:48
je ne c'est pas si c'est moi qui suis mauvais mais ca ne fai rien du tout . pas de message dans la messagebox rien loool
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 20:51
Avec la solution de MPi, à chaque fois que tu fais un Scroll le message doit apparaitre.
Avec ma solution, il faut faire Call NombreScroll

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 20:59
la ca me met un message d'erreur .

-Erreur de compilation
"un appel fonction de la partie gauche d'une affectation doit renvoyer un type variant ou object "
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 21:02
C'est sûr que t'es en VB6 (et pas vb.net ?)
Ca n'a pas lieu d'avoir ce message d'erreur !

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 déc. 2006 à 21:06
Je viens de vérifier à ma façon : Topindex est exactement la valeur de l'ascenseur.

La propriété scroll n'est quant à elle utile que lorsque l'on veut faire "concorder" l'affichage de deux listes ... ainsi :

Private Sub List1_Scroll()
  List2.TopIndex = List1.TopIndex
End Sub

ou encore lorsque l'on veut jouer avec l'événement scroll d'une listbox et les index d'un groupe de contrôles indexés...

ce qui évite de passer par des acrobaties en tous genres.

Il n'y a par contre à ma connaissance aucune utilité à utiliser et exploiter la valeur du scroll sur la listBox elle même (celle dont on utilise le scroll, sauf peut-être à empêcher le scroll, ainsi, par exemple, pour le bloquer à 0

Private Sub List1_Scroll()
  List1.TopIndex = 0
End Sub
picétou !
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 21:08
Oui sur.  J'te montre exactement ce que j'ai tapez comme code

Public CountScroll As Byte

Private Sub List1_Scroll()
      Static bCountScroll As Byte
   bCountScroll = bCountScroll + 1
  CountScroll = bCountScroll
End Sub

Private Sub NombreScroll
 msgbox = CountScroll
End sub

Private Sub commande1_Click()
 Call NombreScroll
End Sub

et list1 et commende1 exist bien
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 21:09
tu m'étonnes que ça marche pas :

msgbox = CountScroll

j'ai jamais mis le signe "égal" mais
msgbox CountScroll

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
30 déc. 2006 à 21:22
lool le boulet désolé. mais bon ca revient au probleme du debut ca m'affiche aucune msgbox
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 déc. 2006 à 21:26
C'est probablement parce que tu ne cliques pas mais que tu scrolles avec la roulette.
Est-ce bien ça ?

Pour intercepter la roulette, je pense que tu devras passer par une ou des APIs.
Mais je ne pourrai pas t'aider là-dessus.
Tu peux toujours faire une recherche sur le site. On en a sûrement déjà parlé.

MPi
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 déc. 2006 à 21:28
Peux-tu nous dire, s'il te plait, Blackcatthc, pourquoi tu cherches cette valeur ? Dans quel but exactement ?
Car je crois deviner que tu t'égares, là ....
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
30 déc. 2006 à 21:30
il faut effectivement recourir aux APIs dont la dll ne fait pas parti de Windows, voici un lien expliquant comment procéder :

http://arkham46.developpez.com/articles/access/mousewheel/

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Rejoignez-nous