Pouvoir imprimer seulement ce que l'on veut ?????

Résolu
tequilasurlaterre Messages postés 34 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 mars 2006 - 5 déc. 2005 à 19:35
tequilasurlaterre Messages postés 34 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 mars 2006 - 7 déc. 2005 à 16:04
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

vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
7 déc. 2005 à 15:55
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
3
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
6 déc. 2005 à 15:14
vaughan
0
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
6 déc. 2005 à 15:15
Tu veux seulement imprimer une partie de ta fenêtre écran

vaughan
0
tequilasurlaterre Messages postés 34 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 mars 2006
6 déc. 2005 à 19:29
bonjour vaughan
et oui c'est ca !!
pouvoir choisir soit une parti .
j'ai une petite piste avec rave report !!!!
merci a toi
@+
Teq
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
7 déc. 2005 à 14:47
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
0
tequilasurlaterre Messages postés 34 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 mars 2006
7 déc. 2005 à 15:51
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
0
tequilasurlaterre Messages postés 34 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 16 mars 2006
7 déc. 2005 à 16:04
re-re-bonjour vaughan
super ca marche, enfin j'ai compris

merci et encore merci a toi vaughan.........
@+
Teq
0
Rejoignez-nous