Faire disparaître la flèche d'une liste

Publié le par Raymond

Rien de plus disgracieux qu'un formulaire avec 20 listes déroulantes avec 20 flèches triangulaires. Vous pouvez faire disparaître ces flèches lorsque le contrôle n’a pas le focus et les faire réapparaître, comme par enchantement, lorsque la liste modifiable a le focus. Si vous cliquez à l'endroit de la flèche invisible, la liste prend le focus et se déroule.
Dans le principe, nous allons placer un rectangle d’une dimension bien déterminée sur la flèche de la liste. Que va-t-il se passer ? si la liste a le focus, le rectangle disparaît sous la liste car il n’a pas le focus et la flèche apparaît. Si la liste n’a pas le focus, le rectangle apparaît parce qu’il est situé au dessus de la liste et il cache la flèche.

Vous placez une liste modifiable sur votre formulaire :
Nom : modifiable1
Largeur : 3 cm
Hauteur : 0,556 cm
Haut : 4,153 cm
Gauche : 6,095 cm


Vous placez un rectangle sur votre formulaire, n’importe où, et vous modifiez ses dimensions :
Nom : rectangle1
Largeur : 0,496 cm
Hauteur : 0,501 cm
Haut : 4,171 cm
Gauche : 8,591 cm
Style du fond : Standard
Couleur du fond : blanc
Style bordure : Transparent


Tapez le code suivant dans VB Editor :
Private Sub Rectangle1_Click()
    Me.Modifiable1.SetFocus
    Me.Modifiable1.Dropdown
End Sub


Procédez ainsi pour chaque liste déroulante. Vous pouvez faire un copier/coller des objets mais le code ne sera pas créé automatiquement, vous devrez faire un copier/coller du code et ajuster le nom des objets. 
 

Publié dans Astuces

Commenter cet article