自我学习之一:淡入淡出(抄)
2001-11-24 02:11
621 查看
Option Explicit
Public Sub IntervalX(ByVal intI As Integer)
If intI > 0 Then Sleep (intI) '制造千分之intI秒的时间间隔
End Sub
Public Sub ShowTransparency(SrcDC As Long, _
ByVal SrcX As Long, _
ByVal SrcY As Long, _
ByVal SrcHeight As Long, _
ByVal SrcWidth As Long, _
DestDC As Long, _
ByVal DestX, _
ByVal DestY, _
ByVal DestHeight As Long, _
ByVal DestWidth As Long, _
ByVal nLevel As Byte)
Dim LrProps As rBlendProps
Dim LnBlendPtr As Long
LrProps.tBlendAmount = nLevel
CopyMemory LnBlendPtr, LrProps, 4
AlphaBlend DestDC, DestX, DestY, DestWidth, DestHeight, _
SrcDC, SrcX, SrcY, SrcWidth, SrcHeight, LnBlendPtr
End Sub
Public Sub CopyPictureX(ByVal dcSour As Long, _
ByVal SourX As Long, _
ByVal SourY As Long, _
ByVal dcDest As Long, _
ByVal DestX As Long, _
ByVal DestY As Long, _
ByVal DestWidth As Long, _
ByVal DestHeight As Long)
'dcSour——>dcDest
BitBlt dcDest, DestX, DestY, DestWidth, DestHeight, dcSour, SourX, SourY, SRCCOPY
End Sub
Public Sub ScreenCls()
'刷新桌面
InvalidateRectAsAny 0, ByVal 0&, True
End Sub
Private Sub Form_Load()
Dim i, l, t
Picture2.Height = Picture1.Height
Picture2.Width = Picture1.Width
l = (Screen.Width / Screen.TwipsPerPixelX - Picture1.ScaleWidth) / 2
t = (Screen.Height / Screen.TwipsPerPixelY - Picture1.ScaleHeight) / 2
CopyPictureX GetDC(0), l, t, Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.Height
For i = 0 To 150 Step 7
IntervalX 150 - i
DoEvents
ShowTransparency Picture1.hdc, 0, 0, Picture1.ScaleHeight, _
Picture1.ScaleWidth, GetDC(0), l, t, _
Picture1.ScaleHeight, Picture1.ScaleWidth, i
Next i
IntervalX 1000
For i = 0 To 150 Step 7
IntervalX 150 - i
DoEvents
ShowTransparency Picture2.hdc, 0, 0, Picture2.ScaleHeight, _
Picture2.ScaleWidth, GetDC(0), l, t, _
Picture2.ScaleHeight, Picture2.ScaleWidth, i
Next i
ScreenCls
Unload Me
End Sub
Public Sub IntervalX(ByVal intI As Integer)
If intI > 0 Then Sleep (intI) '制造千分之intI秒的时间间隔
End Sub
Public Sub ShowTransparency(SrcDC As Long, _
ByVal SrcX As Long, _
ByVal SrcY As Long, _
ByVal SrcHeight As Long, _
ByVal SrcWidth As Long, _
DestDC As Long, _
ByVal DestX, _
ByVal DestY, _
ByVal DestHeight As Long, _
ByVal DestWidth As Long, _
ByVal nLevel As Byte)
Dim LrProps As rBlendProps
Dim LnBlendPtr As Long
LrProps.tBlendAmount = nLevel
CopyMemory LnBlendPtr, LrProps, 4
AlphaBlend DestDC, DestX, DestY, DestWidth, DestHeight, _
SrcDC, SrcX, SrcY, SrcWidth, SrcHeight, LnBlendPtr
End Sub
Public Sub CopyPictureX(ByVal dcSour As Long, _
ByVal SourX As Long, _
ByVal SourY As Long, _
ByVal dcDest As Long, _
ByVal DestX As Long, _
ByVal DestY As Long, _
ByVal DestWidth As Long, _
ByVal DestHeight As Long)
'dcSour——>dcDest
BitBlt dcDest, DestX, DestY, DestWidth, DestHeight, dcSour, SourX, SourY, SRCCOPY
End Sub
Public Sub ScreenCls()
'刷新桌面
InvalidateRectAsAny 0, ByVal 0&, True
End Sub
Private Sub Form_Load()
Dim i, l, t
Picture2.Height = Picture1.Height
Picture2.Width = Picture1.Width
l = (Screen.Width / Screen.TwipsPerPixelX - Picture1.ScaleWidth) / 2
t = (Screen.Height / Screen.TwipsPerPixelY - Picture1.ScaleHeight) / 2
CopyPictureX GetDC(0), l, t, Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.Height
For i = 0 To 150 Step 7
IntervalX 150 - i
DoEvents
ShowTransparency Picture1.hdc, 0, 0, Picture1.ScaleHeight, _
Picture1.ScaleWidth, GetDC(0), l, t, _
Picture1.ScaleHeight, Picture1.ScaleWidth, i
Next i
IntervalX 1000
For i = 0 To 150 Step 7
IntervalX 150 - i
DoEvents
ShowTransparency Picture2.hdc, 0, 0, Picture2.ScaleHeight, _
Picture2.ScaleWidth, GetDC(0), l, t, _
Picture2.ScaleHeight, Picture2.ScaleWidth, i
Next i
ScreenCls
Unload Me
End Sub
相关文章推荐
- 程序员应该学会自我学习
- 自我学习——javascript——闭包的本质
- 入职第一天的自我学习之.net MVC书籍管理实例参考
- 作业一:建立博客、自我介绍、速读教材、学习进度总结(1)
- 从自我学习到深层网络——建立你的第1个深度网络分类器
- .net Core 自我学习随笔(三)——我们整个数据库如何?
- 搜狐-新闻页 粗略整理-自我学习
- python自我学习 二 爬一个图片网站上
- 打造敏捷外包团队的高度自主与自我学习的生态系统
- ufldl 深度学习入门 第三发: 自我学习与无监督特征学习
- 前自增的学习和自我探讨
- 自我学习与实践---关于VS2008安装部署的学习
- 常用linux命令---自我学习linux后总结
- 学习是自我规范的过程
- UFLDL self-taught自我学习编程答案
- 程序员自我学习自我培训指南
- Hibernate学习文档_表的自我关联
- 自我学习的网站
- 从新回到学习的自我感触
- 程序员自我学习自我培训指南