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 10-06-2004
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 22
SnaKe Va por buen camino
Hola,

Eso es muy tipico que ocurra, te cuento como lo he hecho yo solo para las cabeceras de pagina, me he creado dos componentes que heredan de TQrImage y TQrLabel.

En el constructor de cada componente hacen algo asi:

Código Delphi [-]
constructor TQRImageLogo.Create(AOwner: TComponent);
var
  Logo: TComponent;
begin
  inherited Create(AOwner);
  SetBounds(0,0,60,60);
  Logo := Application.MainForm.FindComponent('Logo');
  if (Logo <> nil) and
  (Logo is TImage) then begin
    Picture.Assign(TImage(Logo).Picture);
    Stretch := TImage(Logo).Stretch;
  end;
end;
Algo parecido pasa con el que hereda de un TQrLabel, la idea es sencilla, el componente busca en el formulario principal de la aplicación un componente con nombre 'Logo' y copia el contenido de la propiedad Picture en este componente, con el que hereda de QrLabel lo que copia es el caption de un label que tengo en el formulario principal que se llama NombreEmpresa.

En el formulario principal de todas las aplicaciones tengo un TImage llamado Logo y un TLabel llamado 'NombreEmpresa', ambos con la propiedad visible a false y asi solamente cambio esto en el formulario principal.

Podrías hacer algo parecido incluso sin programar tus propios componentes sino que por ejemplo en el main de tu aplicacion pones un TImage con el logo que quieras un Label con el texto del pie de pagina (ambos con la propiedad visible a false) y le pones la imagen que quieras y el texto que quieras. Entonces en el create de cada listado haces algo asi:

Código Delphi [-]
var
  Logo: TComponent;
  Pie  : TComponent;
begin
  Logo := Application.MainForm.FindComponent('NombreDelTImagedelMain');
  Pie   := Application.MainForm.FindComponent('NombreDelTLabeldelMain');
  MiQrImage.Picture.Assign(TImage(Logo).Picture);
  MiQrLabelPie.Caption := TLabel(Pie).Caption;
end;

Para la proxima aplicacion cambias en el main el Picture de tu TImage y el caption de tu TLabel y listo.

Espero que te sirva.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #2  
Antiguo 10-06-2004
alejodb alejodb is offline
Registrado
 
Registrado: ago 2003
Ubicación: Manizales - Colombia
Posts: 3
Poder: 0
alejodb Va por buen camino
Buena idea

Muchas gracias,

Es una buena idea y la voy a tratar de aplicar, claro que con algunas modificaciones pues el número de componentes en el Header y el Footer es variable entonces creo que la herencia de componentes me sirve mas.
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 14:08:39.


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