在VB中给窗体加墙纸

Author: 小欣 Date: 1997-01-01

  首先,在主窗体上,建立一个PictureBox对象,将该对象改名为pic。
  源程序如下:(假设form1为主窗体)
  Declare Sub bitblt Lib "GDI"(ByVal hDestDC As Integer,ByVal x As Ingeger,ByVal y As Integer,ByVal nWidth As Integer,ByVal nHeight As Integer,ByVal hSrcDC As Integer,ByVal XSrc As Integer,ByVal YSrc As Integer,ByVal dwRop As Long)   ’这一句可以从VB程序组中的Windows 3.1 API中拷贝得到
  Sub fillwindow()   ’实现上述功能的子程序
  xx=Int(form1.Width/pic.Width+.5)
  yy=Int(form1.Height/pic.Height+.5)
  form1.AutoRedraw=True
  For i=1 To xx
  For j=1 To yy
  bitblt form1.hDC,(i-1)*pic.Width/15,(j-1)*pic.Height/15,pic.Width,pic.Height,pic.hDC,0,0,&HCC0020
  Next j
  Next i
  form1.AutoRedraw=False ’这两句是将内存中的图像刷新成现在所显示的图像
  form1.Cls
  End Sub
  Sub Form-Load()
  pic.BorderStyle=0
  pic.AutoSize=True
  pic.visible=false
  pic.Picture=LoadPicture("c:\windows\zigzag.bmp")
  ’这是Windows中原有的墙纸图案,你也可以将其改成其它文件名
  End Sub
  Sub Form-Activate()
  fillwindow
  ’设定在窗体被激活时执行了程序,保证在程序一执行,就可以显示背景
  End Sub
  再把素材光盘上的一些精美墙纸图案利用上去,不费吹灰之力,一个令人炫目的背景就出来了,这样,你就轻松完成了完美的“装潢工作”了!