Rellenar el fondo de los forms

 

Colaboración de: J.A.C.I. jaci@arrakis.es
Lo hizo de forma "indirecta" pero al fin y al cabo por deseo expreso, para que todos nos beneficiemos.


El mensaje enviado/recibido:

Aqui dejo la forma que utilizo para realizar esta tarea.

Guiller si lo quieres colocar en tu página... (eres libre de hacerlo ;-) )
--------------------------------------------------------------------------

COLOCAR UN TAPIZ DE FONDO EN UN FORM

Por ejemplo si tenemos una aplicación con multitud de forms que queremos ponerle un fondo BMP, haremos lo siguiente, colocamos en el formulario principal, ya sea MDIForm o normal, un ImageList con los diferentes Bitmaps que vamos a usar en nuestra aplicación.
(Al ImageList le he llamado Fondos, al formulario principal le he llamado ppal)

En cada formulario que ira relleno ponemos...

Const num_fondo=2  ' Numero correspondiente a la imagen del ImageList.

Private Sub Form_Load()
	PonFondo Me, num_fondo
End sub
Private Sub Form_Paint()
	PonFondo Me, num_fondo
End Sub
Private Sub Form_Resize()
	PonFondo Me, num_fondo
End Sub

Y en un modulo general escribimos el procedimiento....

Sub PonFondo(vForm As Object, vfondo As Integer)
	Dim wide%, high%, Y&, X&
	' Paso los pixeles a twips
	wide% = ppal.Fondos.ImageWidth * 15
	high% = ppal.Fondos.ImageHeight * 15
	'Almaceno la imagen en el form
	If vForm.Picture = 0 Then
	    Set vForm.Picture = ppal.Fondos.ListImages(vfondo).Picture
	End If
	For Y = 0 To vForm.ScaleHeight Step high%
	 For X = 0 To vForm.ScaleWidth Step wide%
	   vForm.PaintPicture vForm.Picture, X, Y, wide%, high%, , , , ,&HCC0020
	 Next X
	Next Y	
End Sub

Un saludo a todos.

-------
"Lo mas incomprensible del mundo es que el mundo sea comprensible." (Albert Einstein)

E-mail: mailto:jaci@arrakis.es
Cordoba-Andalucia-Spain


 Pulsa aquí para bajar los listados de prueba de este código, el de Harvey y el de asaca (fondos.zip 5.65 KB)

ir al índice