<Retour Grenier>

Début de page Question

Comment intégrer une image Gif animée dans un formulaire Access, dans un formulaire Visual Basic, ou même dans un UserForm (Word, Excel...) ?

Début de page Réponse

Une solution, qui m'a été transmise par Michel Pfeiffer, et réalisée par Gevorg Ter-Saakov : le composant Gif89, qui s'insère sur un formulaire comme n'importe quel objet OLE, et qui sert de container pour images Gif.
Consultez la documentation livrée avec le composant Gif89 pour plus de détails.

 

Début de page Installation et désinstallation du composant Gif89

Installer le composant Gif89

  1. Téléchargez le fichier Gif89.zip
  2. Décompactez ce fichier dans un dossier temporaire de votre disque dur.
    Vous obtiendrez 5 fichiers :
  1. Copiez le fichier Gif89.dll dans votre dossier \windows\system
  2. Double-cliquez sur le programme install.bat

Le programme d'installation ne fait qu'inscrire la DLL dans la base de registre de Windows.
La commande est \windows\system\regsvr32 \windows\system\gif89.dll
(à aménager si votre installation est différente).

 

Désinstaller le composant Gif89

  1. Double-cliquez sur le programme uninst.bat
  2. Supprimez le fichier Gif89.dll de votre dossier \windows\system

 

Début de page Utiliser le composant Gif89 sur un formulaire

  1. Ouvrez un formulaire en mode Création.
  2. Cliquez sur le menu Insertion, puis sur l'option Contrôle ActiveX.
  3. Dans la liste proposée, sélectionnez Gif89 Class.
  4. Validez par OK.
  5. Faites apparaître les propriétés de cet objet (par le menu Affichage / Propriétés ou l'icône équivalente).
  6. Cliquez sur l'onglet Autres

En bas de la liste des propriétés, vous trouverez les propriétés spécifiques au composant Gif89, qui sont détaillées ci-dessous :

 

AutoSize Si cette propriété est définie à Oui et que vous chargez une nouvelle image, le composant se redimensionnera automatiquement en fonction de la taille de l’image. Ceci ne marche pas dans FoxPro 5.0, donc si vous ne voulez pas un comportement bizarre, réglez toujours cette propriété sur Non dans FoxPro. Mais vous pouvez toujours essayer de la définir à Oui pour voir ce qui se produit. AutoSize fonctionne bien avec VB, Access.
AutoStart Si cette propriété est réglée à Oui, le composant commence automatiquement à "jouer" le fichier (c'est-à-dire animer l’image) lorsque le formulaire est chargé.
FileName Le nom du fichier Gif.
Embed Si cette propriété est réglée sur Non, vous devez distribuer le fichier Gif avec votre application; si elle vaut Oui, le fichier Gif est intégré dans votre .EXE et il n’est pas nécessaire de le distribuer séparément.

Si vous définissez la propriété Embed à Oui, le composant ignorera la propriété FileName. Ainsi, si en mode Création vous réglez Embed à Oui puis décidez de changer l’image, vous devez définir la propriété Embed à Non, puis changer le nom du fichier (FileName), et enfin redéfinir Embed à Oui à nouveau.

Speed Le délai entre deux images. 100 équivaut à un délai de 1 seconde. Si le fichier Gif lui-même comporte un réglage de vitesse, le composant ignorera cette propriété.
Glass Si la propriété Glass est réglée à Non, le rectangle qui contient le composant est rempli de la couleur de fond du container (BackColor en VB 5.0). Si vous avez une image sous le composant (en VB 5.0 il est possible de définir la propriété Picture du formulaire), vous verrez un rectangle gris et l’image Gif sera animée à l’intérieur. Mais si vous souhaitez que le Gif soit animé par-dessus votre image, réglez la propriété Glass sur Oui.

Attention : quelquefois, si vous ne définissez pas la propriété ClipControls à Non, vous pouvez obtenir un trou dans votre formulaire, parce que le formulaire ne s’est pas redessiné sous le composant. Si vous placez mon composant sur un composant PictureBox, vous devez changer la propriété ClipControls de l’objet PictureBox.

Note : Pour placer le composant Gif89 sur un UserForm (Word, Excel ou autre), il faut au préalable ajouter ce composant dans la "boîte à outils", via le menu Outils / Contrôles supplémentaires / Gif89 Class.