Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et 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.

Réponse
 
Outils de la discussion
Vieux 27/05/2008, 09h53   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: juillet 2005
Messages: 39
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
Vieux 27/05/2008, 09h59   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 819
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

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
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 27/05/2008, 10h18   #3 (permalink)
Futur Membre du Club
 
Date d'inscription: juillet 2005
Messages: 39
Par défaut

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
Vieux 28/05/2008, 18h25   #4 (permalink)
Inscrit(e)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
Par défaut

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 ?
__________________
Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion.
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/05/2008, 18h28   #5 (permalink)
Futur Membre du Club
 
Date d'inscription: juillet 2005
Messages: 39
Par défaut

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
Vieux 28/05/2008, 18h51   #6 (permalink)
Inscrit(e)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
Par défaut

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 ?
__________________
Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion.
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/05/2008, 18h59   #7 (permalink)
Futur Membre du Club
 
Date d'inscription: juillet 2005
Messages: 39
Par défaut

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
Vieux 28/05/2008, 19h10   #8 (permalink)
Inscrit(e)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
Par défaut

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 ?
__________________
Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion.
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/05/2008, 19h17   #9 (permalink)
Futur Membre du Club
 
Date d'inscription: juillet 2005
Messages: 39
Par défaut

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
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Général VBA

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide