Gif animé

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…) ?

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.

Note
Ce billet est une présentation rapide du composant Gif89. Consultez la documentation livrée avec le composant Gif89 pour plus de détails.

Installer le composant Gif89 (1ère méthode)

  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 :
  • Gif89.dll (le fichier gérant les Gif animés),
  • Gif89.rtf (la documentation originale de Gif89.dll, en anglais),
  • Gif89fr.rtf (la documentation traduite – librement – en français par votre serviteur),
  • install.bat et gif89_install.vbs (deux fichiers d’installation, voir plus loin)
  • uninst.bat et gif98_uninstall.vbs (deux fichiers de désinstallation)
  1. Copiez le fichier Gif89.dll dans votre dossier windowssystem
  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 windowssystemregsvr32 windowssystemgif89.dll
(à aménager si votre installation est différente).

Installer le composant Gif89 (2ème méthode)

Si vous devez installer le composant sur plusieurs machines, il se peut que l’installation soit un peu longue : copier le fichier gif89.dll, enregistrer la DLL (sachant que le répertoire système peut différer d’une machine à l’autre)… Voici une méthode alternative :

  1. Créez un dossier partagé sur votre machine, ou sur un serveur du réseau, et copiez le fichier gif89.dll dans ce répertoire.
  2. Ouvrez le fichier gif89_install.vbs ci-joint grâce au bloc-notes de Windows par exemple.
  3. Modifiez le chemin donné par la variable strOrigine pour qu’il pointe vers le dossier partagé.
  4. Exécutez le fichier gif89_install.vbs sur chaque machine.

Le fichier gif89.dll y sera recopié depuis le dossier partagé, le dossier système sera détecté automatiquement, et regsvr32 automatiquement déclenché.

Notes
  • Votre anti-virus pourrait vous signaler l’exécution d’un script malveillant lorsque vous double-cliquerez sur gif89_install.vbs. Acceptez malgré tout l’exécution, je ne vous ai pas écrit un virus !
  • D’autre part, l’exécution de scripts VBS nécessite que le Windows Scripting Host soit installé sur votre machine. Ca devrait être le cas systématique avec Windows 98 / 98 SE / 98 ME, Windows 2000 et Windows XP.

Désinstaller le composant Gif89

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

Si vous avez utilisé le fichier gif89_install.vbs pour l’installation, remplacez les étapes ci-dessus par un double-clic sur gif89_uninstall.vbs.

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). Si vous avez une image sous le composant (en VB 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.
Dernière minute
Access 2007 ne gère pas les Gifs animés mieux que ses prédécesseurs. La seule nouveauté est la prise en charge de la transparence Gif.

Vous aimerez aussi...

6 réponses

  1. Hervé Inisan dit :

    Audimat > Gif89 est une bibliothèque assez ancienne, j’ai peur qu’il n’en existe pas de version spécifique 64 bits. Je n’ai pas de quoi tester à cette heure, mais l’enregistrement de la bibliothèque échoue en 64 bits ?

  2. Audimat dit :

    En 1, Superbe Site Qui M’A fAit Bien Progresser…

    Merci Pour Tout…

    En 2,
    Je Suis En 64 Bit Et Je N’Arrive Pas A Installer gif89.dll,
    Existe T4iL uNE vERSION 64 ???

    En 3,
    Sinon Y A T’Il Une Alternative ???

    De Toute Façon,
    Encore Merci…

    Amitiés
    @+

  3. Hervé Inisan dit :

    PCANTIN > C’est le même Gif, j’imagine, pour chaque enregistrement ?

  4. PCANTIN dit :

    J’utilise GIF89 dans un formulaire access2003 que je rends visible ou non (fonction du résultat d’un champ). le passage d’un enregistrement à un autre me fait perdre l’animation de l’image GIF.
    J’ai essayé le bout de code suivant gif.filename=gif.filename mais je doute que cela soit juste.
    j’ai essayé
    Gif89.FileName=Gif89.FileName
    Gif89. »c:…mongif.gif » = Gif89. »c:…mongif.gif » mais sans résultat.
    Une Idée ?
    Merci d’avance

  5. Hervé Inisan dit :

    Claude > Je n’ai pas plus d’infos pour l’instant. Au cas où : Est-ce que le Gif89 est posé sur une diapo ou sur un UserForm ? Par quelle méthode ? Quelle est la version de Powerpoint ?

  6. Bonjour
    J’ai essayé d’installer le contrôle Gif89 sur un slide dans powerPoint.
    Au lancement du diaporama, mon gif est bien animé mais, tous les évènement sur les boutons ne fonctionnent plus (ils fonctionnent quand Gif89 n’est pas installé).
    Comme si Gif89 ne rendait jamais la main au reste du programe par un DoEvents interne.
    Avez vous un avis ?
    Merci de votre aide
    Claude Azoulai

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *