Voici un petit gadget qui vous
intéressera peut-être pour la réalisation de vos programmes.
Il s'agit de la réalisation d'un pointeur animé, lequel est
possible par l'intermédiaire de l'API Windows.
- Créez un nouveau projet que vous sauvegardez sous le
nom de Ex_17xx.vbp. Il s'agit d'une feuille vide.
Les seules caractéristiques à respecter sont CAPTION
qui doit indiquer Cuseur animé et NAME qui doit
être F_Curseur.
- Téléchargez ensuite le fichier Quebec.ani
qui sera utilisé pour animer votre curseur.
- Il faut en premier lieur créer les deux fonctions qui
permettront qui permettent d'utiliser l'API de Windows.
'Cette première fonction sert au chargement
des curseurs
Private Declare Function LoadCursorFromFile _
Lib "user32" Alias "LoadCursorFromFileA" ( _
ByVal lpFileName As String _
) As Long
'Cette seconde fonction change
l'information de classe
Private Declare Function SetClassLong _
Lib "user32" Alias "SetClassLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long _
) As Long
- Il faut ensuite déclarer la variable qui contiendra
l'ancien curseur afin de pouvoir le rétablir quand nous
le désirerons.
Private Const C_HCURSEUR = (-12)
Private V_AncienCurseur As Long
Private V_NouveauCurseur As Long
- On ajoute ensuite le script de chargement du curseur
animé dans l'événement Form_Load.
Private Sub Form_Load()
'Chargement du
curseur et rangement dans la variable
V_NouveauCurseur = LoadCursorFromFile (App.Path &
"quebec.ani")
'Remplacement de
l'ancien curseur par le nouveau
V_AncienCurseur = SetClassLong(F_Curseur.hwnd, C_HCURSEUR, _
V_NouveauCurseur)
End Sub
- Si vous testez votre programme à
ce moment-ci, il fonctionne. Le drapeau du Québec flotte
maintenant sur votre application. Cependant, si votre
programme comporte plusieurs feuilles, il flottera sur
toutes, que vous le vouliez ou non. Pour remédier à ce
problème, il faut ajouter le script suivant dans
l'événement Form_Unload.
Private Sub Form_Unload(Cancel As
Integer)
'Restauration du
curseur de souris original
V_AncienCurseur = SetClassLong(F_Curseur.hwnd, C_HCURSEUR, _
V_AncienCurseur)
End Sub
- Voilà qui complète le tout.
Enregistrez votre programme.
Application:
- Ajoutez deux boutons à votre
feuille de style. Chacun d'eux contiendra un script
permettant d'afficher un pointeur animé différent de
celui de la feuille. Pour y parvenir, utilisez
l'événement MOUSEMOVE et copiez dans chacun le
code contenu dans l'événement FORM_LOAD.
N'oubliez pas de changer le nom du fichier contenant le
curseur ainsi que le nom de l'objet. Vous pouvez trouver
des curseurs animés sur le site suivant: Les
curseurs à BRUB. Sauvegardez le programme modifié
sous le nom Ex_17bxx.vbp.
|