在软件Powerpoint中,可以使图形图片出现各种特效效果,其中"百叶窗"的切换效果尤为新颖,现在在VB中,我们可以用程序实现等同的视觉体验。
首先看一下我们要实现的"百叶窗"效果界面:
界面中共被等分为8部分,以白色为底色,蓝色作为滚动色来构造百叶窗,即从白色向蓝色过度。
在VB中实现这样的图形特效很简单,其方法就是调用Windows的API函数SetPixel,该函数由动态链接库GDI32.DLL提供,其作用是设置指定像素的颜色,其格式如下:
reColor=SetPixel(hdc,X,Y,crColor)
hdc 窗口句柄
X 像素点的横坐标
Y 像素点的纵坐标
crColor 像素点的颜色
reColor 返回值
代码功能实现:
1,API函数声明:在代码窗口的控件选择下拉列表框中选择"通用",在事件下拉列表框中选择"声明"事件,在代码窗口中输入下列代码:
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
2,为Form1控件建立如下的Click事件代码:
1. Private Sub Form_Click()
2. Dim tmp_y As Long
3. For y = 0 To Me.ScaleHeight / 8 / Screen.TwipsPerPixelY
4. For i = 0 To 8
5. tmp_y = i * Me.ScaleHeight / 8 / Screen.TwipsPerPixelY + y
6. For x = 0 To Me.ScaleWidth
7. reColor = SetPixel(Me.hdc, x, tmp_y, RGB(0, 0, 255))
8. Next x
9. DoEvents
10. Next i
11. DoEvents
12. Next y
13. End Sub
按F5 键运行,观察程序效果