我有3个窗体,form1,form2,form3,
在form1的左边有2个按钮,右边有一块空白区域,
点第一个按钮,加载form2到form1的右边特定范围内
点第二个按钮,加载form3到form1的右边特定范围内
移动FORM1加载上去的 form2等也跟着移动
如何实现?不用MDI

解决方案 »

  1.   

    Option ExplicitPrivate Sub Command1_Click()
            Form2.Left = Form1.Left + Form1.Width - Form2.Width
            Form2.Height = Form1.Top + Form1.Height - Form2.Height
            Form2.Visible = True
    End SubPrivate Sub Command2_Click()
            Form3.Left = Form1.Left + Form1.Width - Form2.Width
            Form3.Height = Form1.Top + Form1.Height - Form3.Height
            Form3.Visible = True
    End SubPrivate Sub Form_Load()
            Form1.Visible = True
            Form2.Visible = False
            Form3.Visible = False
    End Sub
      

  2.   

    右边放一picturebox,然后设置setparent form2,picturebox1
      

  3.   

    '使用VB的SetParent或使用API
    '以下是使用API的例子:
    Option ExplicitPrivate Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As LongPrivate Sub Command1_Click()
        Form2.Visible = True
        SetParent Form2.hwnd, Form1.hwnd
        MoveWindow Form2.hwnd, 0, 0, 300, 300, 1 '通过该函数控制位置和大小
    End Sub
      

  4.   

    直接setparent就行了啊.参考:http://www.m5home.com/blog2/blogview.asp?logID=299&cateID=2
      

  5.   


    这个正解,picturebox是window对象 取得其句柄后 setparent form2.hwnd , pic1.hwnd