PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Insérer une image dans un champ rtf
Insérer une image dans un champ rtf
Débuté par rumimaster, 02 déc. 2006 15:07 - 5 réponses
Posté le 02 décembre 2006 - 15:07
Bonjour

Je bute sur un problème tout simple, mais je bute.
Dans une appli, j'ai ajouté une gestion de docs techniques, articles de presse etc..
Sur ma fenetre, j'ai inséré une barre d'outils RTF, mais je ne trouve pas la solution pour pouvoir y insérer une image car j'ai l'impression de ne pas pouvoir accéder au nom du champ.
Qq a-t-il une soluce SVP ?
D'avance merci
Posté le 02 décembre 2006 - 17:58
Bon je crois que j'ai trouvé dans un exemple :
Il faut copier l'image dans le presse papier et la dans la suite du code la coller dans le champ de saisie...
Posté le 02 décembre 2006 - 17:59
Bonjour,

La solution la plus simple est de faire un copier/coller de l'image dans le champ RTF.


Bob dev, Fred(CH)
Posté le 03 décembre 2006 - 10:51
J'ai cherché une solution et j'ai trouvé ceci.

1 - Créer un champ image en dehors de la fenêtre <IMG_Image1> HQ-Homohétique étendu centré. Taille à tester.
2 - Ajouter un bouton à la barre d'outils RTF <BTN_Image>(SCRTF) avec le code suivant:

//On sélectionne une image (champ <Image1> en dehors de la fenêtre)
IMG_Image1 = fSélecteurImage("", "", "Sélectionnez un fichier...", fFiltreImage())
//On mémorise l'image dans le presse-papiers
VersPressePapier(IMG_Image1)
nWM_PASTE est un entier = 0x0302
//On indiquer que le champ RTF est modifié
SaisieTexte..Modifié = Vrai
//On colle l'image mémorisée
SendMessage(Handle(SaisieTexte), nWM_PASTE, 0, 0)
//On reprend la saisie
RepriseSaisie(SaisieTexte)

Toutes les options sont disponible, à gauche, centré, à droite, avec les boutons de commandes.
Un clic sur l'image permet de changer la taille, mais la qualité devient très médiocre.

Bon dev, Fred(CH)
Posté le 03 décembre 2006 - 22:59
Un exemple est sur mon site: http://mypage.bluewin.ch/gfd/tutos/index.htm

Bon dev,Fred(CH)
Posté le 03 décembre 2006 - 23:00