bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008
-
25 juin 2006 à 10:24
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008
-
26 juin 2006 à 17:39
Savez-vous comment faire pour imprimer une form en entière, car elle dépasse de l'écran, en format paysage ?
J'ai déjà essayé form.print et ceci :
// PrintScale : type de mise à l'échelle de la form à imprimer
// Valeurs possibles : aucune (poNone) [par défaut], proportionnelle
// (poProportional) ou ajustée à la page (poPrintToFit)
PrintScale := poProportional;
// Printer.Orientation : disposition en portrait (poPortrait)
// ou paysage (poLandscape)
Printer.Orientation := poLandscape;
// Imprime un aperçu de la form
Print;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 25 juin 2006 à 12:55
Salut,
tu peux essayer de passer par un Bitmap :
pour tester tu mets un bouton et un TImage sur une form (TImage : AutoSize à False et Stretch à True et de taille plus petite que la Form) et tu complètes comme ceci :
D'après ce que je vois la méthode de Cirec consiste à faire un sorte de scren shot de ta forme et d'afficher dans un TImage. Il te reste alors à imprimer le contenu de ton TImage.
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 25 juin 2006 à 19:52
non, je conteste bdgta, mon code adapte la taille de l'image à la taille de la page.
Pour voir cela, il suffit de lire tout le contenu du thread de discussion.
@+
Nico {www.ni69.info}
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 26 juin 2006 à 00:25
@Nico, la différence entre ma méthode et GetFormImage c'est que
GetFormImage renvoie une image du ClientRect et pas de toute la Form, avec l'autre méthode tu obtiens la Form complète avec le cadre (c'est une vraie impression de Form)
Tiens d'ailleurs à propos d'impression, voici un exemple :
cette exemple est des plus simples, il imprime la Form en mode paysage et il stretch l'image a la taille de la feuille sans tenir compte des proportions
procedure TForm1.Button2Click(Sender: TObject);
Var MargeX,MargeY:Integer;
begin with Printer do begin Orientation := poLandscape;
MargeX:=GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
MargeY:=GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
BeginDoc;
StretchBlt(Canvas.Handle, MargeX, MargeY, PageWidth - MargeX * 2
, PageHeight - MargeY * 2, GetWindowDC(Form1.Handle), 0, 0, Width
, Height, srcCopy);
EndDoc;
end;
end;
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008 26 juin 2006 à 17:39
Je repose ma question, comment faire pour imprimer une form qui depasse de lecran vers le bas.
Les exemples que vous mavez donne avec gentilesse ne font que prendre l'image affiche sur lecran et non pas la form en entiere. A moins que je n'arrive pas a comprendre le procede.