Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Unhappy Abrir la impresora y seleccionar lo que quiero imprimir

hola
tengo un form k y en el tengo un groupbox que
tiene como especie de una tarjeta puntos(como las de exito) configurado:
el group contiene

1. imagen (imagen fondo carnet)
2. dos label con ced y nombre usuario
3. otra imagen con el logo que puede variar

ya. quiero imprimirla , como hago?
__________________
Enseñar es la virtud de un sabio.
  #2  
Antiguo 04-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ingabraham.

Proba de este modo:
Código Delphi [-]
uses Printers;

procedure PrintControl(aPrn: TPrinter; aWinControl: TWinControl; const aPosX, aPosY: Integer);
var
  Bmp: TBitmap;
  hdcSrc: HDC;
begin
  Bmp:= TBitmap.Create;
  try
    Bmp.Width:= aWinControl.Width;
    Bmp.Height:= aWinControl.Height;
    hdcSrc:= GetWindowDC(aWinControl.Handle);
    try
      BitBlt(Bmp.Canvas.handle, 0, 0, Bmp.Width, Bmp.Height, hdcSrc, 0, 0, SRCCOPY)
    finally
      ReleaseDC(aWinControl.Handle, hdcSrc)
    end;
    aPrn.Canvas.Draw(aPosX, aPosY, Bmp);
  finally
    Bmp.Free
  end
end;

Llamada ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Printer: TPrinter;
begin
  Printer:= TPrinter.Create;
  try
    Printer.BeginDoc;
    //...
    PrintControl(Printer, GroupBox1, 100, 50);
    //... 
    Printer.EndDoc;
  finally
    Printer.Free;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
  #3  
Antiguo 16-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ingabraham.

A una semana de planteada tu duda, sería interesante que nos comentaras si la propuesta te fué útil y de no ser así, que compartas la solución que pudiste encontrar.

Esta sugerencia, basada en el punto 13 de la guía de estilos, es a fín de facilitar soluciónes a quién pudiera tener un problema similar.

Saludos y gracias por tu colaboracion
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
  #4  
Antiguo 03-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Question

bueno te comento en la impresion me sale bien, pero es muy pequeñito, como dos veces el tamaño de una simcard.

quiero que me lo imprima tal y cual como me lo visualiza, porque me lo esta imprimiendo pequeñito.
__________________
Enseñar es la virtud de un sabio.
  #5  
Antiguo 03-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Exclamation

hellp ayuda, k estoy necesitando esta solucion urgente, no se si configurando el ancho y alto de esta imagen
para que me la imprima normal y no en miniatura.,!!!
__________________
Enseñar es la virtud de un sabio.
  #6  
Antiguo 03-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
ok. me toca ampliar el .GroupBoxTarjeta1 manualmente y todos sus componentes. de lo cual me despixelaria la imagen
alguien me puede dar alguna idea es que me parece que esta forma no seria la correcta
__________________
Enseñar es la virtud de un sabio.
  #7  
Antiguo 03-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Unhappy PrintControl no me imprime el tamaño normal

utilizo delphi 7


quiero que me imprima mi tamaño normal de una imagen, el cual contiene unos label y otras imagenes que pueden ser variables.

quiero que me lo imprima tal y cual como me lo visualiza, porque me lo esta imprimiendo pequeñito.

mi siguiente codigo es:

Código Delphi [-]

uses Printers;

procedure PrintControl(aPrn: TPrinter; aWinControl: TWinControl; const aPosX, aPosY: Integer);
var
  Bmp: TBitmap;
  hdcSrc: HDC;
begin
  Bmp:= TBitmap.Create;
  try
    Bmp.Width:= aWinControl.Width;
    Bmp.Height:= aWinControl.Height;
    hdcSrc:= GetWindowDC(aWinControl.Handle);
    try
      BitBlt(Bmp.Canvas.handle, 0, 0, Bmp.Width, Bmp.Height, hdcSrc, 0, 0, SRCCOPY)
    finally
      ReleaseDC(aWinControl.Handle, hdcSrc)
    end;
    aPrn.Canvas.Draw(aPosX, aPosY, Bmp);
  finally
    Bmp.Free
  end
end;


procedure TTarjetaPuntos.SpeedButton11Click(Sender: TObject);
var
  Printer: TPrinter;
begin

   SpeedButton11.Visible   := false;


  Printer:= TPrinter.Create;
  try
    Printer.BeginDoc;
    //...
    PrintControl(Printer, GroupBoxTarjeta1, 100, 50);
    //...
    Printer.EndDoc;
  finally
    Printer.Free;
  end;

   SpeedButton11.Visible   := true;

end;
__________________
Enseñar es la virtud de un sabio.

Última edición por ingabraham fecha: 03-09-2012 a las 19:37:56.
  #8  
Antiguo 04-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Talking abir la impresora y seleccionar lo que quiero imprimir

delhi 7.

tengo un form que contiene 2 groupbox que contienen imagenes y label.


deseo que al darle clic a un boton
me abra la impresora para configurarla, y luego imprimir el groupbox que desee.

como lo hago???
__________________
Enseñar es la virtud de un sabio.
  #9  
Antiguo 04-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, no abras distintos hilos para preguntar realmente lo mismo en todos. Gracias.
Sigue con este.
  #10  
Antiguo 04-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
ese hilo es diferente!!!
Necesito como abrir la configuración de la impresora, para imprimir uno de 2 groupbox, agradesco que lea determinadamente la pregunta para poderla eliminar. gracias y no lo haga por ver mi desespero en este hilo.!!
__________________
Enseñar es la virtud de un sabio.
  #11  
Antiguo 04-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que en la configuración de una impresora no puedes elegir imprimir un groupbox u otro.
En la configuración puedes cambiar el tamaño de página, la resolución, número de copias, etc.
Pero lo que quieres hacer tendrás que conseguirlo antes mediante código.
Y si no es así, entonces es que no he entendido nada de lo que estás haciendo
  #12  
Antiguo 04-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por ingabraham Ver Mensaje
deseo que al darle clic a un boton me abra la impresora para configurarla, y luego imprimir el groupbox que desee.

como lo hago???
Hola.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  prn: TPrinter;
begin
  if PrinterSetupDialog1.Execute then
  begin
    prn:= TPrinter.Create;
    try
      prn.BeginDoc;
      PrintControl(prn, GroupBox1, 100, 50);
      prn.EndDoc;
    finally
      prn.Free;
    end;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
  #13  
Antiguo 05-09-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
De entrada la resolución de la impresora nada tiene que ver con la de la pantalla por lo que en pantalla se ve "grande" en una impresora puede verse "pequeñito" y viceversa. Y variará de impresora a impresora y de pantalla a pantalla. Solución: Hay que hacer muchos cálculos para cambiar la resolución de la impresora para que se adapte lo mejor posible a la de pantalla de manera que puedas ver la imagen en grande. Esto te funcionará para cualquier impresora, otra opción es jugar con las opciones de la impresora (vía código) para que te ajuste el tamaño (zoom) de lo que mandes a imprimir, pero dependerás de cada impresora ya que no todas lo hacen de la misma forma.

¿No sería más fácil plantear el problema y necesidad para que se te puedan dar otras opciones que te sean más sencillas de implementar? A muchos no se nos hace muy lógico el querer imprimir un form o un control tal cual, por algo lo estas tratando de hacer.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
  #14  
Antiguo 05-09-2012
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
De entrada la resolución de la impresora nada tiene que ver con la de la pantalla por lo que en pantalla se ve "grande" en una impresora puede verse "pequeñito" y viceversa. Y variará de impresora a impresora y de pantalla a pantalla. Solución: Hay que hacer muchos cálculos para cambiar la resolución de la impresora para que se adapte lo mejor posible a la de pantalla de manera que puedas ver la imagen en grande. Esto te funcionará para cualquier impresora, otra opción es jugar con las opciones de la impresora (vía código) para que te ajuste el tamaño (zoom) de lo que mandes a imprimir, pero dependerás de cada impresora ya que no todas lo hacen de la misma forma.

¿No sería más fácil plantear el problema y necesidad para que se te puedan dar otras opciones que te sean más sencillas de implementar? A muchos no se nos hace muy lógico el querer imprimir un form o un control tal cual, por algo lo estas tratando de hacer.
ESTE es mi problema.

tengo una impresora hp deskjet 100(normal) imprimo un carnet q tengo en delphi 7 con una imagen de fondo y label. me sale bien
pero al momento de imprimirla en una epson stilus foto t50.(carnetizadora)

quien me puede ayudar con la configuracion de esta, lo que trato de imprimir son unos carnet pero en esta ultima me sale la impresion muy pequeña y con otro codigo que tengo x alli que utilizo el Self.Print; me sale muy grande

ayudenme!!
__________________
Enseñar es la virtud de un sabio.
  #15  
Antiguo 05-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cierro este hilo, puesto que has abierto otro para lo mismo.
Tema Cerrado



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
quiero abrir una base datos alex2112 Firebird e Interbase 47 30-08-2010 22:32:45
Imprimir pudiendo seleccionar la impresora bbjb Impresión 2 20-08-2010 08:50:36
Seleccionar Impresora ASAPLTDA Impresión 0 22-04-2009 00:56:45
Seleccionar Impresora chrids506 Impresión 0 31-05-2006 15:32:09
Seleccionar impresora pdf david duarte Impresión 1 24-04-2006 22:54:26


La franja horaria es GMT +2. Ahora son las 19:36:21.


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