Ver Mensaje Individual
  #4  
Antiguo 04-08-2004
rogeriobeltran rogeriobeltran is offline
Miembro
 
Registrado: dic 2003
Ubicación: Bucaramanga-Santander-Colombia
Posts: 49
Reputación: 0
rogeriobeltran Va por buen camino
Dudas con Impresion con Canvas

Ya solucionado el problema con Writeln, quisiera saber si se puede cambiar el tipo de letra.

Estoy realizando pruebas con Canvas y me sucede que no me imprime el encabezado, pareciera que me lo imprimiera sobre el mismi sitio, de la factura sino solamente las clausulas. Además no me cambia el tipo de letra siempre me imprime el mismo. No se si se puedea cambiar con writeln, ya que con el si se me imprime bien pero no se si se puede cambiar el tipo y tamaño de la letra.

Código:
 

 SetMapMode(Printer.Handle,MM_LOMETRIC);
 Printer.BeginDoc; // INICIO UN NUEVO DOCUMENTO
 With Printer.canvas do
  Begin
   Ancho := 600;
   Font.Size := 8; //TAMAÑO DE LA LETRA
   Font.Name := 'Courier New';


   TextOut(30,10,tEmpresa.FieldByName('NOMBRE').AsString);

   Longitud := Length(tEmpresa.FieldByName('NIT').AsString);
   Centro := (Ancho-Longitud) div 2;
   TextOut(CENTRO,90,tEmpresa.FieldByName('NIT').AsString);

   Longitud := Length(tEmpresa.FieldByName('DIRECCION').AsString);
   Centro := (Ancho-Longitud) div 2;
   TextOut(CENTRO,170,tEmpresa.FieldByName('DIRECCION').AsString);

   Longitud := Length(tEmpresa.FieldByName('TELEFONO').AsString);
   Centro := (Ancho-Longitud) div 2;
   TextOut(CENTRO,260,tEmpresa.FieldByName('TELEFONO').AsString);

   TextOut(10,350,'Tipo: '+TipoVehiculo+' Placa : '+Placa);
   TextOut(10,440,'Entrada : '+FormatDateTime('dd/mm/yyyy hh:mm:ss',tRegistro.FieldByName('FECHAENTRADA').AsDateTime));

   Longitud := Length('CLAUSULAS');
   Centro := (Ancho-Longitud) div 2;
   TextOut(CENTRO,550,'CLAUSULAS');

   tEncabezado.Close;
   tEncabezado.Filtered := False;
   tEncabezado.Filter := 'CODIGO = ''00''';
   tEncabezado.Filtered := True;
   tEncabezado.Open;
   Lineas :=0;
   Font.Size := 5; //TAMAÑO DE LA LETRA
   Font.Name := 'Small Fonts';
   For i:=0 to DBMemo2.Lines.Count-1 do
   begin
      Cadena := DBMemo2.Lines[i];
      TextOut(10,10+(I*80),Cadena);
   end;

  end;
  Printer.EndDoc;
Gracias

Rogerio
Responder Con Cita