Dibujar el Fondo de un Form.

Código enviado por Harvey Triana [email protected]


El código que te presento a continuación es compacto y no emplea objetos adicionales. Solo requiere que en modo de diseño se agregue la imagen que se quiere usar como fondo en la propiedad Picture del formulario y conocer sus dimensiones. El procedimiento es el siguiente:

Public Sub FormBackground(f As Form, bgWidth  As Integer, _
                                     bgHeight As Integer)
    Dim i As Integer
    Dim j As Integer
    
    If f.Picture Then
       f.ScaleMode = vbPixels
       For i = 0 To f.ScaleHeight Step bgHeight
           For j = 0 To f.ScaleWidth Step bgWidth
               PaintPicture f.Picture, j, i, _ 
                            bgWidth, _
                            bgHeight, , , , , &HCC0020
           Next
       Next
    End If
End Sub

Para usar, simplemente se agrega la linea «FormBackground Me, bgWidth, bgHeight » en el evento Form_Paint. Nótese que los parámetros bgWidth y bgHeight deben ser conocidos. Tengo que reconocer que el ultimo parámetro de PaintPicture no lo usaba y mejora el efecto --se ve perfecto!.


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

ir al índice