jisheng(古朴的狼):
     这好像不能做出像Photoshop那样的工具箱吧

解决方案 »

  1.   

    // 在owner参数处输入mdi的me
    frm1.show ,me
      

  2.   

    MDI子窗口用 SetWindowPos()就行。
      

  3.   

    可以用ActiveBar2.0添加一个ActiveX Form 看看如何。
      

  4.   

    这叫Dock,用ActiveBar或者其他支持窗体Dock的控件即可
      

  5.   

    Seedling(叶子):
         我试过了不行啊
      

  6.   

    Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Dim oldhwnd As LongPrivate Sub MDIForm_Load()Form1.Show '独立窗体Form2.Show 'MDI子窗体
    oldhwnd = GetParent(Form1.hwnd) '获取Form1原父窗口的句柄
    SetParent Form1.hwnd, MDIForm1.hwnd  '将Form1设置为MDIForm1的子窗体'Form1变成仅悬浮在MDI窗口上的对话框了
    End SubPrivate Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    '恢复Form1为独立窗体
    SetParent Form1.hwnd, oldhwnd
    Unload Form1 '卸载Form1
    End Sub
      

  7.   

    用setparant函数,将窗体句柄设成0,然后工具箱就可以显示在MDI窗体外部(桌面上),MDI关闭后工具箱夜关闭
      

  8.   

    下载一个activebar控件吧,要下载完全安装版本,里面有好多类似的例子,绝对适合你。
      

  9.   

    回复人: enmity(灵感之源) (  ) 信誉:100  2002-3-16 20:58:48  得分:30  
     
     
      到http://caotang.myetang.com/temp/mdichildontop.zip下载一个例子,给你满意的答复。 
     
    嘿嘿,抄别人的~~
      

  10.   

    'MDI窗口
     Form1.Show , Me'子窗口 form1
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Const GWL_EXSTYLE = (-20)Private Sub Form_Load()
      SetWindowLong Me.hwnd, GWL_EXSTYLE, ByVal &H100&
    End Sub