|
Pour réaliser certains
logiciels, il faut pouvoir cliquer
sur un objet et
le glisser
à un endroit précis prédéterminé. c'est ce qu'on
appelle la méthode cliquer-glisser.
La gestion de
cette méthode n’est pas difficile, à condition de
suivre méthodiquement
les étapes.
Etape 1:
Il faut autoriser
l’objet considéré à subir un cliquer-glisser. Par défaut,
l’utilisateur ne peut
pas, cliquer et
glisser les contrôles qu’il voit sur une feuille. Cette
autorisation s’effectue par le passage de
l’instruction Drag.
On peut attribuer cette
propriété à un objet grâce à la fenêtre
des propriétés
ou autoriser l'objet à être cliqué glissé au moment où
l'utilisateur commence
la manoeuvre,
c'est-à-dire lorsqu'il enfonce le bouton de la souris sur
l'objet. On placera cette ligne de code au
début de la procédure MouseDown.
Etape 2:
Il faut définir, si on le
souhaite, quelle doit être la physionomie de l’objet
durant le cliquer-glisser, autrement
dit quelle est l'icône de glisse de l'objet.
On peut se
contenter de conserver
l’icône par défaut.
On peut aussi préciser une autre
icône à l'aide
de la propriété DragIcon
de l’objet.
On
peut aussi déterminer cette propriété dans la boîte
des propriétés ou par une instruction elle aussi
habituellement placée au moment où se déclenche le Cliquer-Glisser.
Attention,
le fichier doit obligatoirement être de type icône (*.ico),
à l’exclusion de tout autre !
Etape 3
:
il faut préciser ce
qui doit se passer lorsque l’utilisateur va relâcher le
bouton de la souris au-dessus de tel ou tel contrôle.
Ceci est un événement DragDrop.
C'est en particulier là qu'on va passer les lignes de
code déplaçant effectivement l'objet, si c'est l'effet
recherché.
Etape 4:
On peut aussi définir, si on le
souhaite, ce
qui doit se passer lorsque la souris trimballant
l’objet survole tel ou tel contrôle.
Ceci se programme par des procédures utilisant l’événement
DragOver.
Exemple
Private Sub
Objet_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Objet.DragIcon =
Objet.Picture
Objet.Drag = vbBeginDrag
XDép = X
YDép = Y
End Sub
Private Sub
Objet_DragDrop(Source As Control, X As Single, Y As Single)
Objet.Move (X , Y )
End Sub
Tout de
suite après la
déclaration de
la procédure, les propriétés
cliquer - glisser de l'objet sont définies: Drag
et DragIcon.
Notez que DragIcon est défini à partir de la propriété
Picture. Si celle-ci est vide ou ne contient pas un
fichier de type Icon, vous pouvez régler la propriété MouseIcon
avec un fichier du bon type et utiliser l'instruction Objet.DragIcon
= Objet.MouseIcon.
On initialise ensuite les variables Xdép
et Ydép
afin de connaître la position de l'objet au moment où
l'opération glisser commence. Si
on arrête là, rien l'objet reviendra toujours à son
point de départ quand on relâchera le bouton. Il faut
donc programmer dans une procédure
DragDrop les
actions à réaliser lors du relâchement. Dans l'exemple
ci-dessus, on déplace l'objet à la position (X,
Y).
.
|