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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值