![]() |
| 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é. | |||||||
|
|||||||
| Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: juillet 2005
Messages: 39
|
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 |
|
|
|
|
|
#3 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: juillet 2005
Messages: 39
|
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 |
|
|
|
|
|
#4 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
|
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. |
|
|
|
|
|
#6 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
|
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. |
|
|
|
|
|
#8 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 2 969
|
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" ( 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. |
|
|
|
|
|
#9 (permalink) |
|
Futur Membre du Club
![]() Date d'inscription: juillet 2005
Messages: 39
|
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 !!!
|
|
|
|
![]() |
![]() |
||
listbox et ControlTipText
|
||
| Outils de la discussion | |
|
|