Resumen Imagen como tapiz

Hola a todos/as

En contestacion a varios integrantes de la lista que me pidieron el codigo de como poner una imagen como tapiz, aqui va...

AVISO: Este codigo lo uso para colocar una IMAGEN (BMP) en un formulario y que se repita en forma de tapiz (al modo del tapiz en el escritorio de Windows). No vale para poner una sola imagen metaarchivo y que esta se agrande o reduzca al maximizar, lo que haria seria RELLENAR el formulario...
Alguien contesto en la lista que era posible usar un metarchivo para que sea esa imagen la que se agrande o reduzca pero no lo he probado....
     * Frm11001 es el nombre del formulario


A NIVEL GENERAL (normalmente en un modulo .bas)
    * imagino que no hace falta que sean publicas y se pueden definir en el FORM_PAINT
    'Variables para generar el mosaico
    Public Filas As Integer, Columnas As Integer
    Public xTwips As Integer, yTwips As Integer
    Public MiLogo As Picture
    Public Const vbhimetric As Integer = 8

EN EL FORM_PAINT DEL FORMULARIO:
Private Sub Form_Paint()
    Dim NumFilas As Integer, NumColumnas As Integer
    ' Pinta el fondo del formulario
    Set MiLogo = LoadResPicture(16, 0) ' Cojo la imagen de un archivo de recursos
    ' Realiza los cálculos de la escala y cuantas filas y
    ' columnas se deben pintar (suma 1 por exceso)
    xTwips = ScaleX(MiLogo.Width, vbhimetric, vbTwips)
    yTwips = ScaleY(MiLogo.Height, vbhimetric, vbTwips)
    NumFilas = (Frm11001.Height / yTwips) + 1
    NumColumnas = (Frm11001.Width / xTwips) + 1
    For Filas = 0 To NumFilas
        For Columnas = 0 To NumColumnas
            Frm11001.PaintPicture MiLogo, Columnas * xTwips, Filas * yTwips
        Next Columnas
    Next Filas
End Sub

y eso es todo... Ah! Si no os funciona (solo sale una imagen en la esquina) comprobar las propiedades de AUTOREDRAW y CLIPCONTROL en el formulario... No recuerdo los valores ahora mismo, lo siento

Un saludo,
Ernesto



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com