自我学习之一:淡入淡出(抄)

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有