Le premier site francophone dédié au développement Pocket PC


Présentation et utilisation de "EasyInk"
 
   


C'est un composant ActiveX

Un composant ActiveX est aussi appellé un contrôle ActiveX, comme les contrôles Listview, Treeview, Liaison série, etc... Un contrôle est visuel, il doit être placé dans un conteneur (généralement une fenêtre eVB) pour être exploitable et généralement s'affiche lors de l'exécution du programme qui l'utilise (certains contrôles ne s'affichent pas, comme par exemple le contrôle Timer). Les composants ActiveX visuels sont des fichiers avec une extension '.OCX' sur PC et '.DLL' sur le Pocket PC.

EasyInk de Odyssey software

EasyInk est un contrôle qui permet la gestion de la signature électronique. Ce contrôle est développé par Odyssey software qui est une société qui développe des composants ActiveX pour Pocket PC. Cette société est aussi à l'origine d'une librairie ActiveX, OSIUTIL, qui a déjà fait l'objet d'un article dans . Vous pouvez accéder à l'article sur OSIUTIL ici.

Pour commencer, vous devez télécharger EasyInk et l'installer sur votre PC.

Télécharger le programme d'installation de EasyInk

Vous pouvez laisser eVB installer le contrôle sur votre Pocket PC ou encore le faire à la main. Le programme d'installation créé sur votre PC un dossier qui contient, entre autre, le contrôle EasyInk pour votre Pocket PC. Copiez celui qui correspond au processeur de votre Pocket PC dans le dossier \Windows (de votre Pocket PC) et enregistrez le dans la base de registre de votre Pocket PC en lançant le programme 'regsvrce'.

Note: Sur Pocket PC il n'y a pas de ligne de commande, mais vous pouvez faire apparaître une boite de dialogue qui vous permettra de lancer le programme de votre choix en tapant son nom et éventuellement le ou les paramètres nécessaires.

Pour cela vous devez activer la touche 'Validation' de votre Pocket PC (sur un iPAQ, c'est la touche centrale du pad) tout en cliquant (plus d'une seconde) sur l'heure affichée. Choisissez ensuite l'option 'Exécuter' du menu popup qui s'affiche.

La ligne de commande à taper est la suivante :

regsvrce \windows\easyink.ocx

Si tout ce passe bien, le message suivant doit s'afficher :

Dans eVB, il faut cocher le composant

Pour pouvoir utiliser ce contrôle dans votre application, il faut cocher sa référence dans la liste des composants (project -> Components) ce qui l'ajoute à la boîte à outils.

A partir de maintenant, vous pouvez placer autant de contrôles EasyInk que vous voulez sur toutes les feuilles de votre application.

Comme nous sommes entre personnes raisonnables, nous allons placer une instance du contrôle EasyInk sur la feuille Form1. Nous allons aussi encadrer notre contrôle EasyInk avec un contrôle Shape pour simuler un bord (EasyInk n'affiche pas de bordure).

A ce stade, si vous lancez le programme sur votre Pocket PC, vous pouvez déjà signer dans la zone EasyInk.

Effacer

Pour effacer le contenu du contrôle, il suffit d'utiliser la méthode 'Clear' :

Call InkControl1.Clear

Enregistrer puis relire les infos sous forme d'image

Il est possible d'enregister le contenu du contrôle sous la forme d'une image bitmap. Pour cela il faut utiliser les méthodes 'SaveImage' et 'LoadImage' :

Rem On va enregistrer sous forme d'image dans le fichier \My Documents\TestInk.bmp
Call InkControl1.SaveImage("\My Documents\TestInk.bmp")

Rem On va maintenant relir ce que l'on vient d'enregistrer
Call InkControl1.LoadImage("\My Documents\TestInk.bmp")

Enregistrer puis relire les infos sous forme de données

Il est aussi possible d'enregistrer le contenu du contrôle EasyInk dans une variable de type Variant. Cette possibilité est très importante car ceci permet de stocker une signature dans un fichier binaire ou dans une base de données. Pour cela, vous devez utiliser une variable de travail qui servira de stockage :

Rem On déclare la variable de stockage
Dim InkData As Variant

Rem On stocke dans cette variable le contenu du contrôle EasyInk
InkData = InkControl1.ImageData

Rem On injecte dans le contrôle les infos contenues dans la variable
InkControl1.ImageData = InkData

Si la variable de stockage ne contient pas d'informations utilisables, une erreur (à gérer avec On Error) est générée.

Pas d'événement

Le contrôle EasyInk ne genère aucun événement.

Peu de paramètrage

Il est possible de paramètrer la couleur du trait avec 'ForeColor', et biensûr la position et la taille du contrôle sur la fenêtre avec 'Left', 'Top', 'Width' et 'Height'.

On peut rendre le contrôle visible ou non avec la propriété 'Visible'

En conclusion...

Avec les contrôles standard de eVB, il n'est pas très simple de stocker une signature, surtout dans une base de données. EasyInk le fait très bien et de manière très simple. C'est un contrôle qui peu être extrêmement utile dans des applications où il faut par exemple faire signer un client lors d'une livraison.

Télécharger le programme d'exemple de cet article

Si vous l'utilisez dans vos applications il faudra juste ne pas oublier de l'inclure correctement au package d'installation !

Stéphane Sibué

 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.