Formulários: preenchendo o plano de fundo com uma imagem

Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Formulários: preenchendo o plano de fundo com uma imagem

Para preencher o plano de fundo de todo um formulário não-MDI com uma imagem que se repete na horizontal e vertical use as seguintes linhas de código no evento Paint do formulário: 

Private Sub Form_Paint()
    Dim pic As StdPicture
    Dim X As Long, Y As Long

    Set pic = LoadPicture("C:\Windows\padrao.bmp") ' caminho da imagem 
    For Y = 0 To ScaleHeight Step ScaleY(pic.Height)
        For X = 0 To ScaleWidth Step ScaleX(pic.Width)
            PaintPicture pic, X, Y
        Next
    Next

End Sub

Você pode incluir a imagem no seu executável adicionando um controle Image:

Set pic = Image1.Picture 

Ou usando a propriedade Picture dos formulários: 

Set pic = Me.Picture 

Para formulários MDI, a técnica é mais complicada, pois estes formulários não dispõem de um método PaintPicture. É necessário subclassificar a janela mais interna da MDI (que é formada por duas janelas) e processar mensagens WM_PAINT usando APIs para pintar o fundo do formulário. Caso queira conhecer um componente que faz isto automaticamente para você, veja o TilePicture neste mesmo site.