Pouvoir imprimer seulement ce que l'on veut ????? [Résolu]

Signaler
Messages postés
34
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
16 mars 2006
-
Messages postés
34
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
16 mars 2006
-
bonjour a tous !!!

Voila mon probleme.... sur lequel je galere grave !!!

j'ai creer un Bdd avec des TpageControl.... ou il y a :

5 TBEdit, 4 TEdit, 1 DBmemo.sur un meme Tpage.

je voudrais pouvoir imprime, 3 TEdit et le DBMemo mais rien d'autre. et
la je plante j'arrive a imprime, mais tout !!! et je cherche a imprime
une parti seulement et choisis par moi.

mon but c'est que j'ai en haut les donnees de mes clients ,nom adresse,
ect et dans le DBMemo les reparations efectuez et les 3 TEdit se sont
les totos.

voila ...........j'espere avoir ete clair dans ma question?

merci d'avance a tous

Teq @+

7 réponses

Messages postés
198
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008

Voici le code unité complet : j'ai mis la procédure dans la TForm1 en private.
Sur ma TForm j'ai ajouté un TImage et un Tbutton.

unit CopieImage;


interface


uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ImgList, ExtCtrls, jpeg;


type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
Procedure Capture;
public
{ Déclarations publiques }
end;


var
Form1: TForm1;


implementation


{$R *.dfm}



procedure TForm1.Capture;
var
vCanvas: TCanvas;
vRect :Trect;
vBmp :TBitmap;
begin
vCanvas:=TCanvas.Create;
Try
vBmp:=Tbitmap.Create;
Try
//Trouve le handle de la fenêtre active
vCanvas.Handle:=GetWindowDC(GetForeGroundWindow);
//Charge avec sa position et sa taille
GetWindowRect(GetForeGroundWindow,vRect);
//Largeur du Bitmap
vBmp.Width:=vRect.Right-vRect.Left;
//Hauteur du Bitmap
vBmp.Height:=vRect.Bottom-vRect.Top;
//Copie le Canvas de la fenêtre dans le Bitmap
BitBlt(vBmp.Canvas.Handle,0,0,vBmp.Width,vBmp.Height,vCanvas.Handle,0,0, SRCCOPY);
Image1.Picture.Graphic.Assign(vBmp);
Finally
vBmp.Free;
End;
Finally
vCanvas.Free;
End;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Capture;
end;


end.

vaughan
Messages postés
198
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008

vaughan
Messages postés
198
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008

Tu veux seulement imprimer une partie de ta fenêtre écran

vaughan
Messages postés
34
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
16 mars 2006

bonjour vaughan
et oui c'est ca !!
pouvoir choisir soit une parti .
j'ai une petite piste avec rave report !!!!
merci a toi
@+
Teq
Messages postés
198
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008

Voici un bout de code qui fonctionne trés bien que je viens de faire sous haute inspiration. Il copie dans un TImage la fenêtre active. Il te reste à jouer sur les dimension :

procedure TForm1.Capture;
var
vCanvas: TCanvas;
vRect :Trect;
vBmp :TBitmap;
begin
vCanvas:=TCanvas.Create;
Try
vBmp:=Tbitmap.Create;
Try
//Trouve le handle de la fenêtre active
vCanvas.Handle:=GetWindowDC(GetForeGroundWindow);
//Charge avec sa position et sa taille
GetWindowRect(GetForeGroundWindow,vRect);
//Largeur du Bitmap
vBmp.Width:=vRect.Right-vRect.Left;
//Hauteur du Bitmap
vBmp.Height:=vRect.Bottom-vRect.Top;
//Copie le Canvas de la fenêtre dans le Bitmap
BitBlt(vBmp.Canvas.Handle,0,0,vBmp.Width,vBmp.Height,vCanvas.Handle,0,0, SRCCOPY);
Image1.Picture.Graphic.Assign(vBmp);
Finally
vBmp.Free;
End;
Finally
vCanvas.Free;
End;
end;

vaughan
Messages postés
34
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
16 mars 2006

re-bonjour vaughan
merci pour ton code c'est kool de ta part ...
mais quand je le copie sur une fiche il plante sur procedure ??
ou dois-je insere ton code exactement...oups.... n'oublie pas que je suis un debutant
alors si tu pouvais poussé un peut plus dans le details...
merci encore pour ton aide
@+
Teq
Messages postés
34
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
16 mars 2006

re-re-bonjour vaughan
super ca marche, enfin j'ai compris

merci et encore merci a toi vaughan.........
@+
Teq