如何在一个PICTUREBOX里面实现 用一个小图片的 平铺效果
解决方案 »
- combobox的listcount超过Integer范围的问题
- vc 实现的DLL,接口中有一个结构体,在VB中如何实现
- 高手请进
- VB程序如何检测另外一个程序正在运行?
- 学VB的﹐请求帮助???急急急急急 ..who can help me?
- ★★★为什么我用Adodc不能动态连接Access?很简单的!★★★
- 请问如何用递归的方法遍历treeview,找到tag值是所指定的节点选中。
- vb中如何在局域网中对SQL数据库进行远程备份和恢复
- 请问怎样在crystal report8.0打印预览 .rpt文件的报表内容
- 有关历法的程序
- 请问VB6中有没有 能够让 小图片自动填充 的图片显示控件
- 求教,在picturebox绘制坐标系,如何让坐标系随曲线变化而变化大小
用简单的光栅运算就可以实现:
'窗体上放一个命令按钮Command1,2个图片框控件Picture1,picture2。Picture1比picture2大,在picture2中装入一张小图片。
'程序启动后,这张小图片就会铺满整个picture1
Option Explicit
Private Declare Function BitBlt Lib "gdi32.dll" (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
Private Const SRCCOPY As Long = &HCC0020Private Sub Command1_Click()
Dim W1 As Long, W2 As Long, H1 As Long, H2 As Long
Dim hDC1 As Long, hDC2 As Long
Dim i As Long, j As Long
W1 = Picture1.ScaleWidth
W2 = Picture2.ScaleWidth
H1 = Picture1.ScaleHeight
H2 = Picture2.ScaleHeight
hDC1 = Picture1.hDC
hDC2 = Picture2.hDC
Debug.Print W1 \ W2, H1 \ H2
For i = 0 To W1 \ W2
For j = 0 To H1 \ H2
BitBlt hDC1, i * W2, j * H2, W2, H2, hDC2, 0, 0, SRCCOPY
Next
Next
End SubPrivate Sub Form_Load()
Me.ScaleMode = 3
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
Picture1.AutoSize = False
Picture2.AutoSize = True
Picture1.AutoRedraw = False
'事先在picture2中加载一张小图片,我这里加载的是80X78的.程序启动后,这张小图片就会铺满整个picture1。
Picture2.Picture = LoadPicture("F:\资料\My Pictures\28_meigui_18.jpg")
End Sub
Private Sub Command2_Click()
Dim W1 As Long, W2 As Long, H1 As Long, H2 As Long
Dim i As Long, j As Long
W1 = picDest.ScaleWidth
W2 = picSource(0).ScaleWidth
H1 = picDest.ScaleHeight
H2 = picSource(0).ScaleHeight
Dim picbox_count As Long
picbox_count = 0
For i = 0 To W1 \ W2
For j = 0 To H1 \ H2
picbox_count = picbox_count + 1
Load picSource(picbox_count)
Set picSource(picbox_count).Container = picDest
picSource(picbox_count).Left = W2 * i
picSource(picbox_count).Top = H2 * j
picSource(picbox_count).Visible = True
Next
Next
End SubPrivate Sub Form_Load()
Me.ScaleMode = 3
picSource(0).BorderStyle = 0
picSource(0).ScaleMode = 3
picSource(0).AutoSize = True
picDest.ScaleMode = 3
picDest.AutoSize = False
picDest.AutoRedraw = False
'加载图片
picSource(0).Picture = LoadPicture("C:\1.jpg")End Sub
一个数组控件picSource