Collage d'image sans effet sauf si je redimensionne ma fenêtre

Résolu
sraidj Messages postés 2 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 28 décembre 2005 - 26 déc. 2005 à 22:51
sraidj Messages postés 2 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 28 décembre 2005 - 28 déc. 2005 à 02:11
bonsoir à tous,
Je crée un progamme de traitement d'image et je bloque sur la fonction coller.
lorsque que je colle une image, il n'y a pas d'effet sauf si je redimensionne la fenêtre.
j'ai essayer en mettant :
form1.refresh;
apres mon traitement mais il n'y a aucun effet.
j'utilise delphi 6.
merci de votre aide
voila le bout de code:

procedure TForm1.Coller1Click(Sender: TObject);
var
FormImage: Tpicture;
begin
FormImage:=Tpicture.Create;
FormImage.Assign (Clipboard);
(ActiveMdiChild as TIma).Data.set_Picture(self,FormImage);
formImage.Free;
end;

Si il faut je mettrais mes sources.

2 réponses

sraidj Messages postés 2 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 28 décembre 2005
28 déc. 2005 à 02:11
merci de ton aide
en fait c'était tout bête.
j'ai rajouté
ActiveMdiChild.Refresh;
3
DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
27 déc. 2005 à 08:14
si tu veux que le changement soit instantané, il faut mettre du code dans le OnPaint du Form

il faudra mettre la variable "FormImage: Tpicture;" en variable générale déclarée avant "implementation".
tu transformes ton événement TForm1.Coller1Click :

<HR>
var
Form1:TForm1;
FormImage: Tpicture;

implementation


{$R *.DFM}

// plus loin :

procedure TForm1.Coller1Click(Sender: TObject);
begin
FormImage:=Tpicture.Create;
FormImage.Assign (Clipboard);
ActiveMdiChild.Paint;//ou l'équivalent
formImage.Free;
end;


<HR>

dans l'événement OnPaint du Form en question, on peut mettre quelque chose du style : (tu corriges car je ne connais pas ton code, ce sont juste des idées directrices)



<HR>
if unit1.FormImage<>nil then (ActiveMdiChild as TIma).Data.set_Picture(self,FormImage);
<HR>

si ça peut te donner une orientation d'idées...

DrJerome
0
Rejoignez-nous