Empecher le redimensionnement des images dans un Richedit
vmsn
Messages postés21Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 juin 2009
-
18 avril 2007 à 18:16
vmsn
Messages postés21Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 juin 2009
-
18 avril 2007 à 21:19
Bonjour,
Voilà mon soucis du jour :
Je réalise un client MSN qui pour le moment fonctionne pas mal (basé sur quelques fonctions de PixaMSN pour la connexion nottament)
Bref le client tourne parfaitement, j'ai ajouté mes fonctions sans soucis, enlevé ce que je n'aimais pas mais j'ai un soucis
le texte d'une discution est affiché dans un Richedit bon jusque la rien de prétention, mais maintenant je souhaite y intégrer quelques smileys pour rendre le soft plus convivial, je suis donc passé par un imagelist dans laquelle j'ai intégré mes smileys, puis je les ajoute dans mon riche edit comme suit
var temp : Tbitmap;
begin
temp := Tbitmap.creat;
imagelist1.GetBitmap(NumSmiley,temp);
clipboard.assign(temp);
richedit1.PastFromClipBoard;
end;
Bon ça marche mon smiley est dans mon richedit. sauf que si je le selectionne, je peux le redimensionner !
Quelqu'un connait-il un moyen de le rendre "non-redimensionnable" sans devoir changer de richedit car l'application est un futur plug-in pour un autre soft
Merci d'avance Vm$N
A voir également:
Empecher le redimensionnement des images dans un Richedit
jelume
Messages postés120Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention15 novembre 20071 18 avril 2007 à 20:35
Bonsoir,
J'essye ton code mais le bmp n'apparait pas . J'ai du oublier un truc.
Je n'ai jamais inséré d'image dans un trichedit mais instinctivement, je me dis que ça doit ajouter au richedit un compo timage.
une fois inséré un smiley, est-ce que tu pourrais éssayer de faire une boucle sur les controls du trichedit et voir ce que ça donne en testant le type des controles retrouvés ?
J'ai testé:
richedit1.PasteFromClipBoard;
ShowMessage(inttostr(richedit1.ControlCount));
résultat: 0
mais comme l'image n'apparait pas ici, je ne sais pas si c'est normal.
Si ça marche vers toi, je vois peut-etre une solution en ajoutant à la gestion de message de chaque timage pour empecher le redimensionnement.
Si tu as la solution pour que ça fonctione chez moi, je suis preneur :-)
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 18 avril 2007 à 20:59
ControlCount correspond à la liste des contrôles Delphi possédés par le composant. Si tu regardes bien, tu verras que TButton possède aussi cette propriété, tout comme tous les descendants de TWinControl.
Or, TRichEdit est géré par Windows, ce qui veut dire que les composants *internes* qu'il contient ne sont pas visibles par l'application. D'ailleurs, si tu as le code-source de la VCL, tu verras que le composant TRichEdit communique en grande partie avec des messages Windows, car il ne possède rien lui même.
Pour ton problème vmsn, je ne suis pas sur que la solution soit si "évidente". En effet, l'image étant lié par un bitmap via OLE, tu auras du mal à la contrôler.
néanmoins, aa-tu essayé de mettre la propriété ReadOnly à True sur le RichEdit ?? Des fois que ça marche ....
vmsn
Messages postés21Date d'inscriptiondimanche 27 avril 2003StatutMembreDernière intervention26 juin 2009 18 avril 2007 à 21:19
salut flo et merci de ton interet :)
j'ai en effet oublié de stipuler dans mon code que je faisait au départ un richedit1.readonly := false; et à la fin sa réciproque... je pensais que ca résoudrait ce problème mais non... la solution doit exister étant donner qu'un VCL existe à 200$ -_- avec la solution