有这样的代码:Option ExplicitPrivate Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "User32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function DrawAnimatedRects Lib "User32" (ByVal hWnd As Long, ByVal idAni As Long, lprcFrom As RECT, lprcTo As RECT) As LongPrivate Const IDANI_OPEN = &H1
Private Const IDANI_CLOSE = &H2
Private Const IDANI_CAPTION = &H3Public Enum ZoomDirection
  ZoomFormOpen = 0
  ZoomFormClosed = 1
End EnumPublic Enum ZoomFrom
  TopLeft = 0
  TopCenter = 1
  TopRight = 2
  MidLeft = 3
  MidCenter = 4
  MidRight = 5
  BtmLeft = 6
  BtmCenter = 7
  BtmRight = 8
  FromMousePointer = 9
  FromXY = 10
End EnumPrivate Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End TypePrivate Type POINTAPI
  Y As Long
  X As Long
End TypePublic Sub AnimForm(f As Form, ScreenPosition As ZoomFrom, Direction As ZoomDirection, Optional posX As Integer = 0, Optional posY As Integer = 0)
 
  Dim xFrom As RECT
  Dim xTo As RECT
  Dim ptApi As POINTAPI
  
  Dim scrWd As Integer, scrHt As Integer
  
  If ScreenPosition = FromMousePointer Then
    GetCursorPos ptApi
    xFrom.Top = ptApi.X
    xFrom.Left = ptApi.Y
    xFrom.Right = ptApi.X
    xFrom.Bottom = ptApi.Y
  ElseIf ScreenPosition = FromXY Then
    xFrom.Top = posX
    xFrom.Left = posY
    xFrom.Right = posX
    xFrom.Bottom = posY
  End If
  
  scrWd = Screen.Width / 15
  scrHt = Screen.Height / 15
  
  Select Case ScreenPosition
    Case 0                   'TopLeft = 0
      xFrom.Left = 0
      xFrom.Top = 0
    Case 1                   'TopCenter = 1
      xFrom.Left = scrWd / 2
      xFrom.Top = 0
    Case 2                   'TopRight = 2
      xFrom.Left = scrWd - 1
      xFrom.Top = 0
    Case 3                   'MidLeft = 3
      xFrom.Left = 0
      xFrom.Top = scrHt / 2
    Case 4                   'MidCenter = 4
      xFrom.Left = scrWd / 2
      xFrom.Top = scrHt / 2
    Case 5                   'MidRight = 5
      xFrom.Left = scrWd - 1
      xFrom.Top = scrHt / 2
    Case 6                   'BtmLeft = 6
      xFrom.Left = 0
      xFrom.Top = scrHt - 1
    Case 7                   'BtmCenter = 7
      xFrom.Left = scrWd / 2
      xFrom.Top = scrHt - 1
    Case 8                   'BtmRight = 8
      xFrom.Left = scrWd - 1
      xFrom.Top = scrHt - 1
  End Select
   
  xFrom.Bottom = xFrom.Top + 1
  xFrom.Right = xFrom.Left + 1
   
  GetWindowRect f.hWnd, xTo
   
  If Direction = ZoomFormOpen Then
    DrawAnimatedRects f.hWnd, IDANI_OPEN Or IDANI_CAPTION, xFrom, xTo
    DoEvents
  Else
    DrawAnimatedRects f.hWnd, IDANI_CLOSE Or IDANI_CAPTION, xTo, xFrom
    DoEvents
  End If
  
End SubPrivate Sub Form_Unload(Cancel As Integer)  AnimForm Me, BtmRight, ZoomFormClosedEnd Sub
上面的代码是窗口打开和关闭时的效果,我需要的是象拨号成功时的效果3x