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.