Using Visual Basic to Tile a Bitmap in a Picture Box

Monday Nov 18th 2002 by Sam Huggill
Share:

Use Visaul Basic to tile a bitmap in a picture box.

Private Declare Function _
     BitBlt _
   Lib "GDI32" (ByVal hDestDC As Integer, _
                ByVal X As Integer, _
                ByVal Y As Integer, _
                ByVal nWid As Integer, _
                ByVal nHt As Integer, _
                ByVal hSrcDC As Integer, _
                ByVal XSrc As Integer, _
                ByVal YSrc As Integer, _
            ByVal dwRop As Long) As Integer 

Private Sub Tile( picParent As PictureBox, _
                  picTile As PictureBox) 
'// This subroutine tiles a picture onto 
'// another picture. 
'// Call syntax: Tile Picture1, Picture2 
'// Tile (destination), (source) 
Dim TileIt As Integer 
Const SRCCOPY = &HCC0020 
Dim X As Integer, Y As Integer 
Dim MaximumX As Integer, MaximumY As Integer 

MaximumX = picParent.Width + picTile.Width 
MaximumY = picParent.Height + picTile.Height 
MaximumX = MaximumX \Screen.TwipsPerPixelX 
MaximumY = MaximumY \Screen.TwipsPerPixelY 

Dim TileWidth As Integer, TileHeight As Integer 

TileWidth = picTile.Width \Screen.TwipsPerPixelX 
TileHeight = picTile.Height \Screen.TwipsPerPixelY 

For Y = 0 To MaximumY Step TileHeight 
For X = 0 To MaximumX Step TileWidth 
TileIt = BitBlt(picParent.hDC, X, Y, _
                TileWidth, TileHeight, _
                picTile.hDC, 0, 0, SRCCOPY) 
Next 
Next 
End Sub 
Share:
Home
Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved