自我學習之一:淡入淡出(抄) (轉)

worldblog發表於2007-12-09
自我學習之一:淡入淡出(抄) (轉)[@more@]

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990421/,如需轉載,請註明出處,否則將追究法律責任。

相關文章