Está en la página 1de 1

Como poner una imagen de fondo en una aplicacin MDI

En un artculo anterior vimos como crear aplicaciones MDI gestionando mltiples


ventanas hijas dentro de la ventana padre.

Una de las cosas que ms dan vistosidad a una aplicacin comercial es tener un
fondo con nuestra marca de fondo de la aplicacin (al estilo Contaplus o
Facturaplus).

Para introducir una imagen de fondo en la ventana padre MDI hay que hacer lo
siguiente:

- Introducir en la ventana padre (la que tiene la propiedad FormStyle a MDIForm)


un componente de la clase TImage situado en la pestaa Additional. Al
componenente lo vamos a llamar Fondo.

- En dicha imagen vamos a cambiar la propidedad Align a alClient para que


ocupe todo el fondo del formulario padre.

- Ahora slo falta cargar la imagen directamente:

Fondo.Picture.LoadFromFile( 'c:\imagenes\fondo.bmp' );

El nico inconveniente que tiene esto es que no podemos utilizar los eventos del
formulario al estar la imagen encima (Drag and Drop, etc).

UTILIZANDO EL CANVAS

Otra forma de hacerlo sera poniendo el objeto TImage en medio del formulario
pero de manera invisible (sin alClient). Despus en el evento OnPaint del
formulario copiamos el contenido de la imagen TImage al fondo del formulario:

procedure TFormulario.FormPaint( Sender: TObject );


var R: TRect;
begin
R.Left := 0;
R.Top := 0;
R.Right := Fondo.Width;
R.Bottom := Fondo.Height;
Canvas.CopyRect( R, Fondo.Canvas, R );
end;

As podemos tener igualmente una imagen de fondo sin renunciar a los eventos
del formulario (OnMouseMove, OnClick, etc.).

También podría gustarte