![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Sí, ya he probado con PrintScale, y no me soluciona nada. También he probado este apaño: guardar el formulario en un wmf, y después mandar a imprimir ese archivo, pero surge el mismo problema al usar el GetFormImage. Lo que hago es simplemente:
procedure TFormPrincipal.PagImprimirClick(Sender: TObject); begin FormImpresion.PrintScale:=poPrintToFit; FormImpresion.Print; end; |
#2
|
|||
|
|||
¿Ninguna idea?
![]() |
#3
|
|||
|
|||
A mi me pasa lo mismo y se he visto que creando reportes con distintos reporteadores pues te imprime lo que tengas en el reporte pero en mi caso no necesito usar ni tablas ni bases de datos, solo quiero imprimir lo que esta en la form pero esta no cabe completamente en la panatalla y de una u otra forma solo me imprime lo que se ve en la pantalla, he tratado de copiar el canvas de la form a el de la impresora pero igual me imprime solo lo que se ve en pantalla, asi que probe una solucion mas simple e igual, probe tres cosas en general la ultima fue la de las canvas que tampoco me funciono (Los primeros codigos los encontre en el foro):
uno: // Esta solo me imprime lo que se ve en pantalla en el momento que mando a imprimir procedure TForm2.Button1Click(Sender: TObject); begin Form2.PrintScale:=poPrintToFit; Form2.Print; end; dos: //Esta me imprime el form desde el principio pero solo lo que cabria en una pantalla tomando desde el inicio del form pero entonces no me sale el final procedure TForm2.Button1Click(Sender: TObject); var bi:TBorderIcons; begin // Antes de imprimir Self.Color := clWhite; Self.BorderStyle := bsNone; bi := Self.BorderIcons; Self.BorderIcons := []; try // Imprimir Self.Print; // Despues de imprimir.... Self.BorderIcons := bi; Self.BorderStyle := bsSizeable; Self.Color := clBtnFace; finally end; tres: //Esta me imprime la parte de la pantalla que se ve con barras de titulo y barra de desplazamiento, algo que tampoco quiero que salga pero es parte del canvas de la form asi que si or lo menos ubiera logrado imprimirla completa seria algo despreciable al final procedure TForm2.Button1Click(Sender: TObject); var printDialog : TPrintDialog; begin PrintDialog := TPrintDialog.Create(Form2); if printDialog.Execute then begin Printer.Orientation := poLandscape; Printer.BeginDoc; bitblt( printer.canvas.handle,0,0,width,height, getDC (Form2.Handle),0,0,SRCCOPY); Printer.Canvas.Font.Color := clWhite; Printer.EndDoc; end; end; Espero que nos puedan ayudar Última edición por Nelmiux fecha: 27-06-2006 a las 09:25:35. |
![]() |
|
|
![]() |
|