如何在窗体中平铺图片?
本文介绍怎样用一个图片(例如BMP)平铺在窗口并完全覆盖它。
我们常常有需要使用一幅小图去覆盖一个窗口或者窗口的一部分。这正是设计那些小图的目的。它们以原来的尺寸作为背景排列在要覆盖的窗口上,这种技术就叫“平铺”。
VB没有提供平铺图片到窗口的标准功能。要做到这点,我们必须使用WINDOWS API和一些图形技术。
操作步骤:
1、建立一个新工程项目,缺省建立窗体FORM1
2、添加一个新模体
3、粘贴下面代码到新模体
Option Explicit
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, _
ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public RetValue As Long
Public Sub TileWindow(WindowObject As Object, p As PictureBox)
Dim j As Integer, i As Integer
Dim x As Integer
Dim WhDC As Long
' This object can be any VB standard object with an hWnd property
WhDC = GetDC(WindowObject.hwnd)
For j = 0 To WindowObject.Height Step p.ScaleHeight
For i = 0 To WindowObject.Width Step p.ScaleWidth
x = BitBlt(WhDC, i, j, p.ScaleWidth, p.ScaleHeight, p.hDC, 0, 0, vbSrcCopy)
Next
Next
End Sub
4、添加一个图片框控件(PICUTRE1),设置其SCALEMODE属性=3-PIXEL,AUTOREDRAW属性=TURE,AUTOSIZE属性=TURE。在PICTURE属性中选择一幅图。
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载