ImageViewer : Composant en VFP pour VFP : permettant l'affichage de fichiers images (JPG, BMP, ...) Avec déplacement, Zoom, Rotation (Version actuelle V1.02 - Dernière version Téléchargeable sur http://www.vfp.fr/imageviewer.asp)
Pour le développeur :
Installation :
Dans un formulaire - Rajouter le Composant "ImageViewer.VCX" au moyen de la barre d'outils "Form Designer" : il contient un container VFP nommé "ImageViewer"
- Rajouter un container ImageViewer dans votre formulaire, par un glisser-déplacer. Par défaut celui ci s'appelle "ImageViewer1"
Vous pouvez lancer le formulaire ainsi mais il n'y aura pas d'image, et vous pourrez la sélectionner avec le bouton "Dossier" (LoadFile) en bas à gauche, Mais le plus utile sera probablement de rajouter dans un autre contrôle le chargement de l'image, cela se fait en appelant la méthode "LoadFile":
thisform.Imageviewer1.LoadFile("Image.jpg")
Vous pouvez mettre cet appel dans le INIT de l'ImageViewer lui même, mais dans ce cas : ne pas oublier d'appeler DODEFAULT() avant ! Exemple :
DODEFAULT() this.LoadFile("test.jpg")
- Vous pouvez désactiver le bouton d'ouverture d'un fichier, en initialisant la propriété : ShowButtonLoad à .F.
Bouton d'appel du fichier d'aide : Par défaut ImageViewer est livré avec un fichier d'aide aux manipulations pour l'utilisateur, et il est situé dans ImageViewer\Help\ImageVierwer.mhtml, Vous pouvez changer son emplacement, mais précisez au composant le chemin dans la propriété "HelpFileName"
- Vous pouvez donc donner un chemin à votre propre fichier d'aide, en affectant la propriété :
thisform.Imageviewer1.HelpFileName="MyHelpFile.html"
- Vous pouvez désactiver d'appel au fichier d'aide, en affectant la propriété à une chaine vide :
thisform.Imageviewer1.HelpFileName=""
Exemple d'un appel ImageViewer :
thisform.Imageviewer1.HelpFileName="" && pas de fichier d'aide thisform.Imageviewer1.LoadFile("Image.bmp") && charger l'image image.bmp
Localisation : Le composant ImageViewer est, actuellement, localisé en Français et Anglais le développeur Anglophone devra modifier le paramètre première ligne du fichier "ImageViewer.h"
Simple non ? Essayer c'est sûrement l'adopter....
(Voir Manuel.doc inclus)
Cordialement Francis FAURE
Méthodes Publiques :
LoadFile([FileName])
|
Permet de charger une image. (Si le fichier n'est pas indiqué et qu'une image est déjà chargée, cela fait un rechargement du fichier)
|
v1.00
|
ClipCopy()
|
Copier l'image en cours dans le presse papier
|
v1.02
|
ClipPaste()
|
Copier l'image du presse papier dans une nouvelle image
|
v1.02
|
SaveFile()
|
Enregistre l'image si elle a subit une rotation
|
v1.02
|
ShowButtonLoad(.T./.F.)
|
Supprimée en version 1.02 pour devenir une propriété.
|
v1.00 Obsolète
|
Propriétés Publiques :
Propriété
|
Valeurs
|
Commentaires
|
Défaut
|
Version
|
ShowButtonLoad
|
.T./.F.
|
Afficher le bouton de chargement d'une image
|
.T.
|
v1.02
|
ShowButtonCopy
|
.T./.F.
|
Afficher le bouton Copier
|
.T.
|
v1.02
|
ShowButtonPaste
|
.T./.F.
|
Afficher le bouton Coller
|
.T.
|
v1.02
|
ShowButtonSave
|
.T./.F.
|
Afficher le bouton Enregistrer
|
.T.
|
v1.02
|
PercentMin
|
Numérique
|
Pourcentage minimum du zoom
|
10
|
v1.00
|
PercentMax
|
Numérique
|
Pourcentage maximum du zoom
|
400
|
v1.00
|
FileName
|
Caractère (Lecture Seule)
|
Chemin et Nom du fichier image chargé
|
|
v1.00
|
Version
|
Numérique (Lecture seule)
|
Numéro de version du Composant "ImageViewer"
|
|
v1.00
|
En détail, liste des autres Propriétés et Méthodes utilisées en interne par le composant lui même
Méthodes : (interne au composant)
ImageCenter()
|
Permet de centrer l'image dans la zone d'affichage
|
ImageRotate([liDegree])
|
Permet de faire pivoter l'image (par pas de 90°)
|
ImageScale([liPercent])
|
Permet de changer le pourcentage de la taille de l'image
|
ImageZoomFit([liType])
|
Permet d'ajuster la taille de l'image à la taille de la zone d'affichage
|
Raz()
|
Permet remise à zéro pour chargement d'une nouvelle image (interne)
|
ShowStatusBar([liShow])
|
1 Permet d'afficher 0 de Masquer de rafraichir l'affichage de la StatusBar (barre de statut en bas du container)
|
ThumbnailRefresh()
|
Permet le calcul et l'affichage de la mignonette (interne)
|
Propriétés "Privées" : (interne au composant)
Orientation
|
Orientation actuel de l'image pour le rotate : 90/180/270
|
Percent
|
Le pourcentage actuel du zoom
|
PercentString
|
Le pourcentage actuel du zoom format chaine avec le % pour la barre de statut (interne)
|
|
Merci Francis
Simple efficace et Puissant
Des composants qui font du bon boulot, bien documenté comme on aimerais en voir plus souvent.
Jusqu'a présent je me servais du ctl32_contener je vais faire les test de migration
Merci encore et bon week
Jissé