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.
Installer le composant Gif89 (1ère méthode)
- Téléchargez le fichier Gif89.zip
- 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
etgif89_install.vbs
(deux fichiers d’installation, voir plus loin)uninst.bat
etgif98_uninstall.vbs
(deux fichiers de désinstallation)
- Copiez le fichier
Gif89.dll
dans votre dossier windowssystem - 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 :
- 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. - Ouvrez le fichier
gif89_install.vbs
ci-joint grâce au bloc-notes de Windows par exemple. - Modifiez le chemin donné par la variable
strOrigine
pour qu’il pointe vers le dossier partagé. - 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é.
- 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
- Double-cliquez sur le programme
uninst.bat
- Supprimez le fichier
Gif89.dll
de votre dossierwindowssystem
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
- Ouvrez un formulaire en mode Création.
- Cliquez sur le menu Insertion, puis sur l’option Contrôle ActiveX.
- Dans la liste proposée, sélectionnez Gif89 Class.
- Validez par OK.
- Faites apparaître les propriétés de cet objet (par le menu Affichage / Propriétés ou l’icône équivalente).
- 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. |
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 ?
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
@+
PCANTIN > C’est le même Gif, j’imagine, pour chaque enregistrement ?
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
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 ?
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