Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
¿Como imprimir con el canvas ?

Hola como imprimir con el canvas un componente que tengo es el
TPlannerCalendarGroup de TMS, tiene los procedimientos:

Código:
PaintTo(Canvas:TCanvas;X:integer;Y:integer);
No sé si alguno utilizareis este componente,o algo parecido.
Responder Con Cita
  #2  
Antiguo 14-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Hola

pues acabo de hacer esta prueba y me ha funcionado

Código:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
     Printer.BeginDoc; // INICIO UN NUEVO DOCUMENTO
     With Printer.canvas do //CON EL OBJETO PRINTER.CANVAS HAGO LO SIGUIENTE
      Begin
           //TITULO QUE APARECE EN LA COLA DE IMPRESION
           Printer.Title := 'El titulo del documento que quiero'; 
           Font.Name := 'MS Sans Serif'; //ASIGNO UN TIPO DE LETRA
           Font.Color := ClBlack; //LE ASIGNO UN COLOR A LA LETRA
           Pen.Color := ClBlack; //COLOR DE LA LINE DE LOS RECUADROS
           Font.Size := 12; //TAMAÑO DE LA LETRA
           Font.Name := 'Times New Roman';
           Font.Size := 12;

           PlannerCalendarGroup1.PaintTo(printer.Canvas, 10, 10);

           // imprimimos ListView
      end;
     Printer.EndDoc;
end;
Solo que he tenido un pequeño problema, me ha salido mu pequeñito. Tampoco lo he probado mucho, pero a ver si te sirve

Última edición por __cadetill fecha: 14-05-2003 a las 16:44:56.
Responder Con Cita
  #3  
Antiguo 14-05-2003
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Hola,

El código de kdtill es totalmente correcto, y ocurre lo que él ya comenta, sale muy pequeño. A mi se me ha ocurrido otra cosilla que puede solucionarte el problema.

En lugar de pintar sobre el canvas de la impresora, pon un objeto TImage en tu formulario y hazlo invisible o bien crealo en tiempo de ejecución y cuando le den al botón pinta sobre el canvas del TImage, algo así:

PlannerCalendarGroup1.PaintTo(Image1.Canvas,0,0);

Luego te creas un QuickReport, pones una banda Title y en ella un control TQRImage con el tamaño que quieras que salga por la impresora y la propiedad Stretch a True, en el click de tu botón imprimir calendario el código quedaría más o menos de la siguiente forma:

begin
PlannerCalendarGroup1.PaintTo(Image1.Canvas,0,0);
FQuickReport1.QrImage1.Picture.Assign (Image1.Picture);
FQuickReport1.QuickRep1.Preview; // O .Print como prefieras
end

De esta forma te aseguras que sale del tamaño que tú quieras.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #4  
Antiguo 15-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Gracias a los dos por responder.

Cadetill: la impresión se me realiza bien, pero vamos necesito microscopio para verlo . Si conoces alguna forma de hacerlo más grande me lo dices Ok.

Snake: Con tu forma creo el QuickReport y lo visualizo correctamente. Pero a la hora de imprimirlo, donde deberia estar el calendario sale todo negro,negro, pero muy negro
Responder Con Cita
  #5  
Antiguo 16-05-2003
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Hola,

Pues es extraño que te salga todo negro, yo lo he probado y me funciona perfectamente, comprueba que lo has hecho todo bien, puedes hacer una prueba a ver si se te está copiando bien en el control TImage poniendo visible a True temporalmente, luego haz un .Preview del QuickReport a ver si se ve bien en el preliminar. En caso de que se vea correctamente en los dos sitios debes tener un problema al imprimir gráficos.

No se me ocurre otra cosa.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #6  
Antiguo 16-05-2003
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Pues en el TImage no se me visualiza, pero en el QReport, si. Porque puede ser?
Responder Con Cita
  #7  
Antiguo 16-05-2003
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Ahora, si que me has descolocado... eso si que no lo comprendo, ¿seguro que estás pintando el PlannerCalendarGroup sobre el canvas del TImage y no sobre el canvas del TQRImage y luego haciendo el Assign?, de todas formas si en la previsualización del report ves la imagen correctamente al darle a imprimir el report desde el preview se debería imprimir correctamente.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #8  
Antiguo 16-09-2006
Avatar de emenchi34
emenchi34 emenchi34 is offline
Miembro
 
Registrado: may 2006
Ubicación: Olavarria, Bs.As,Argentina
Posts: 26
Poder: 0
emenchi34 Va por buen camino
escalar impresion

El problema de la letra chiquita esta q cuando empiezan lo q quieren imprimir no declaran el sistema de medicion q van a usar, osea que en algunas impresoras van a imprimir chiquito como en otras pueden imprimir en cualquiier lado.
Código:
SetMapMode(Printer.Handle,MM_LOMETRIC);
begindoc;

//lo que se imprime

enddoc;
en el caso de que trabajemos en mm
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:22:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi