Re : Doucle action à l'intérieur d'un ComboBox
Bonjour Job75,
🙂
Par ailleurs pas compris à quoi sert vraiment TextBox2.
Je l'ai affichée en exécutant TextBox2.Select puis supprimée. Cela ne change rien .
En fait, sur ma bécane (Win7, excel 2010), je me suis apperçu que j'ai deux systèmes de coordonnées renvoyées par MouseMove en ce qui concerne la combobox. Un système qui correspond à la forme de la comboxbox repliée et un autre qui correspond à la zone de la liste dépliée de la combobox (en fait il y a pour le renvoi des coordonnées de la souris deux objets différents)
La première a un Y qui va de 0 à 17 et de 0 à 66. Je n'ai pas trouvé de moyen pour savoir sur quelle forme je suis quand Y est compris entre 0 et 17. Or si j'affiche Texbox1 lorsque je suis sur la combox repliée, j'affiche un message erroné qui correspond à l'un des deux premiers éléments de la liste. Pour éviter cela, j'ai superposé un Textbox2 de fond transparent. L'événement MouseMove se produit alors sur TextBox2 et je n'affiche rien.
Ceci fait, si TextBox2 recouvre toute la ComboBox, je n'ai plus accès à son bouton pour la déplier. TextBox2 s'arrête donc (en largeur) juste avant le bouton de la combobox. Mais alors, je réaffiche le commentaire quand la souris passe sur le bouton, ce que je ne veux pas. Pour éviter cela ==>
Mais l'affichage de TextBox1 est souvent aléatoire.
==> je limite l'apparition du commentaire à la largeur de la combobox moins une bande à droite correspondant grosso modo à la largeur de son bouton. Dans le code cela se traduit par si X>50 je n'affiche rien!
Donc (chez moi) le commentaire ne s'affiche que si la souris se meut (en gros) sur le texte de la liste dépliée. Dès qu'on part à gauche (X>50), je n'affiche plus rien.
C'est laborieux je sais!
Dans le fichier joint, j'ai retiré la Textbox2, affiché X et Y (pour voir les deux systèmes de coordonnées par le passage de Ypar 0 quand on passe de la zone supérieure de la combobox à sa liste dépliée. J'ai aussi remplacé le X>50 par x>1000 pour voir l'affichage de TextBox1 quand on passe la souris sur le bouton de la ComboBox. Quand on repasse sur TextBox2, TextBox1 disparaît.
Tout ceci sur mon matériel, peut-être que pour une autre configuration ce sera différent.
Je savais que l'emploi de MouseMove ne serait pas top mais les occasions de l'utiliser sont rares, je n'allais pas la rater!
Et je te remercie de t'y être intéressé quelque peu.