Tema: Alguna Idea
Ver Mensaje Individual
  #3  
Antiguo 10-06-2004
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Reputación: 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