Aux modérateurs: j'espère avoir posté dans le bon forum...
Nous sommes en train de développer une banque d'images clipart que nous distribuerons avec des licences (en revante) de la suite Corel Designer 12. L'ensemble comprend Designer et PhotoPAINT.
La banque clipart contient des images TIFF ou PNG d'arbres, de plantes et d'éléments inertes comme un banc, une fontaine, etc. destinées à être glissées-déposées sur une image en haute résolution du terrain non aménagé d'une maison. Ces images ont la particularité d'avoir un canal alpha les rendant transparentes, et l'objectif est de faire en sorte que lorsqu'on fait un glisser-déposer de ces images vers PhotoPAINT l'image conserve la «transparence».
Pour ce faire, j'ai développé une macro VBA qui ouvre le fichier transparent comme document temporaire, crée s'il y a lieu un masque pour inclure l'arrière-plan transparent dans la copie, copie toute l'image et colle le tout dans l'image à éditer. Cela a pour résultat d'afficher l'arbre, la fleur et autres sans avoir d'arrière-plan gris.
La macro fonctionne très bien lorsqu'on clique sur un bouton personnalisé que j'ajoute, et qu'on tire profit de la fameuse boîte de dialogue "Ouvrir image" pour aller chercher son TIFF transparent.
Je cherche depuis plusieurs jours une façon de rendre le code exécutable lorsqu'on fait un glisser-déposer de l'image, mais le VBA de Corel PhotoPAINT ne prend pas en charge le glisser-déposer comme événement. Dans ce cas précis, il faudrait que le nom/chemin complet du fichier (tel qu'affiché dans la banque clipart) soit l'élément copié, et passé comme argument pour être récupéré en tant que chaîne de caractère pour ma macro VBA.
Pour ce faire, je voudrais savoir s'il est possible de mettre -- dans le code source de la banque clipart -- un If Then Else permettant de choisir quoi mettre dans le Presse-papier de Windows lorsqu'on fait un glisser-déposer vers une application particulière. Voici le «pseudo-code» pour être plus précise:
Est-ce que ce pseudo-code a du sens? Merci à l'avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // Dans la banque clipart: événement Drag à partir de l'application // On a sélectionné un fichier répertorié dans la banque et fait un glisser-déposé vers une application Si l'application cible est Corel PhotoPAINT 12 alors ' On stocke le nom et chemin d'accès du fichier ' et c'est ce qui est passé en argument à PP12 ' comme chaîne de caractère Sinon // n'importe quel autre prog comme Word, Excel, etc. ' l'image est transférée de la bonne vieille façon: en bitmap
Partager