Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2008, 09h53   #1
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
Par défaut listbox et ControlTipText

Bonjour,
J'ai une listbox remplie d'item. Ma listbox fait 78 de width (imposé et ne peut pas être changé car devant fonctionner sur un écran 12 pouces) mais par contre elle accueille des item pouvant contenir 50 caractères. Il y a donc des items dont on voit que le début.
Mon idée était au passage de la souris dans la listbox, d'afficher le tiptext correspondant. Le problème est que je ne trouve pas l'événement qui me convienne. Le mousemove ne fonctionne pas quand la listbox est ouverte ("dépliée"), le beforeupdate non plus.
Avez vos déjà eu e problème et si oui quelle solution me proposez vous ?
Par avance merci
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 09h59   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 909
Points : 30 909
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Sur quel type d'application es-tu ? Access, Excel, ... ?

Car nativement, ce n'est pas possible, du moins j'en ai jamais entendu parlé. Il y aurait sûrement un possibilité, mais sur le click de la ligne sélectionnée.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 10h18   #3
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
c'est ni excel ni acces mais je doute que vous connaissiez il s'agit de
Arcview 9.1 (logiciel de Système d'Information Géographique)
Mais bon au final il propose l'editeur vba classique de word ou excel, le seul truc est qu'il a des classes spéciales pour manipuler les objets spécifiques à l'application
Et effectivement si je passe la souris sur la listbox (repliée) une fois qu'il y quelque chose de sélectionné j'y arrive mais je me disait qu'on devait pouvoir intersepter le passage de la souris sur les items car ca sélectionne l'item donc vba capture bien un événement...
Mais bon ca reste du détail pour mon appli mais ca fait mieux popur l'utilisateur final
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 18h25   #4
Inactif
 
Inscription : juillet 2007
Messages : 4 555
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 4 555
Points : 5 002
Points : 5 002
bonjour,

la lecture de ta question me donne à penser qu'il ne s'agit pas d'une listbox (qui gère le mousemove), mais d'une combobox (qui ne le gère pas)...

Alors : quel contrôle est-ce finalement ?
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 18h28   #5
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
effectivement à force de dire des betises... il s'agit bien d'une combobox et non pas d'une listbox
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 18h51   #6
Inactif
 
Inscription : juillet 2007
Messages : 4 555
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 4 555
Points : 5 002
Points : 5 002
Ouais...

C'est bien ce que je pensais ...

On peut faire, mais au prix d'acrobaties et en passant par environ 2 fonctions de l'Api de Windows (lourd).
Le jeu en vaut-il la chandelle ?
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 18h59   #7
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
Non le jeu n'en vaut pas la chandelle c'est du paufinage mais par contre a titre de "connaissance" peux tu me dire comment tu ferais ?
Merci
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 19h10   #8
Inactif
 
Inscription : juillet 2007
Messages : 4 555
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 4 555
Points : 5 002
Points : 5 002
Comment ?

Ainsi :

On extrait le handle de ta fenêtre
on en détermine les coordonnées de l'angle supérieure gauche
on calcule alors les coordonnées, par rapport à l'ECRAN, du bord supérieur gauche de la combobox
on détermine maintenant (autre fonction de l'Api de Windows) la position du curseur à l'écran
et là commence un calcul arithmétique basé sur :
- le topindex en cours de la combo (utile si elle a été scrollée)
- la police de la combo (pour connaître la hauteur de chacune de ses lignes)
- la position relative du curseur (par rapport, cette fois-ci, à la Combo)
on extrait ainsi, tout "simplement" () le numéro de la ligne dans la combo (donc l'indice de l'item sur lequel passe la souris)
Reste plus qu'à donner au tooltip le texte de cet item...

T'as tout compris ?
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 19h17   #9
Invité de passage
 
Inscription : juillet 2005
Messages : 39
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 39
Points : 4
Points : 4
Oui j'ai tout compris mais c'est vrai que c'est vraiment tiré par les cheveux
Bon ben pour cette fois ca en vaut pas la peine mais bon au moins je connais la philosophie pour la prochaine fois.
En tout cas merci !!!
sscouby est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h39.


 
 
 
 
Partenaires

Hébergement Web