我想实现一效果:form1和form2,在form1上点击某个按钮,然后form2在form1的左侧或右侧缓缓弹出,就想小日本家中的推拉门一样
请问高手如何实现,谢谢?

解决方案 »

  1.   

    for i = 0 to WIDTH-1
        form1.left=i
        form2.width=i
    NEXT I
      

  2.   

    form1:Private Sub Command1_Click()
        Form2.Left = Me.Left + Me.Width
        Form2.Top = Me.Top
        Form2.ShowWindow 1000
    End Subform2:
    Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwtime As Long, ByVal dwFlags As Long) As Long
    Const AW_HOR_POSITIVE = &H1      ''从左到右打开窗口
    Const AW_HOR_NEGATIVE = &H2      ''从右到左打开窗口
    Const AW_VER_POSITIVE = &H4      ''从上到下打开窗口
    Const AW_VER_NEGATIVE = &H8      ''从下到上打开窗口
    Const AW_ACTIVATE = &H20000      ''在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
    Const AW_SLIDE = &H40000         ''看不出任何效果
    Const AW_BLEND = &H80000         ''淡入淡出效果
    Private Animatetime As Long
    Private FormWidth As Long
    Public Sub ShowWindow(dwtime As Long)
        AnimateWindow Me.hwnd, 1000, AW_HOR_POSITIVE Or AW_ACTIVATE
        Me.Cls
    End Sub有点缺陷,form2动画的过程中,背景会变成黑色的
      

  3.   

    to wwqna(york):你给的例子不能运行啊?出错信息在Form2.ShowWindow 1000这句话中
      

  4.   

    Private Sub Command1_Click()
        Form2.Left = Me.Left + Me.Width
        Form2.Top = Me.Top
        Form2.ShowWindow
    End Sub
    Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwtime As Long, ByVal dwFlags As Long) As Long
    Const AW_HOR_POSITIVE = &H1      ''从左到右打开窗口
    Const AW_HOR_NEGATIVE = &H2      ''从右到左打开窗口
    Const AW_VER_POSITIVE = &H4      ''从上到下打开窗口
    Const AW_VER_NEGATIVE = &H8      ''从下到上打开窗口
    Const AW_ACTIVATE = &H20000      ''在窗体通过本函数打开后,默认情况下会失去焦点,除非加上本常量
    Const AW_SLIDE = &H40000         ''看不出任何效果
    Const AW_BLEND = &H80000         ''淡入淡出效果
    Private Animatetime As Long
    Private FormWidth As Long
    Public Sub ShowWindow()
        AnimateWindow Me.hwnd, 1000, AW_HOR_POSITIVE Or AW_ACTIVATE
        Me.Cls
    End Sub我运行一点问题没有呀
    你是什么系统呀98估计是没有这API的
      

  5.   

    我是2000系统,我不是很明白Form2.ShowWindow,有这个方法吗?
    整个工程是不是就两个form和一个按钮啊?
      

  6.   

    哇!都会被我气死了,那上面不是写的很清楚吗?form1         form2的
    form1中有一按钮command1   showWindow是form2的一个过程。