vb6下,MDI主窗体下,我想摆个容器在右下角,但是在MDI窗体下,容器只能又四个排列方式,左,右,上下,这样一来,就是在一个方向上,容器要占满,但我只想它占一个角落,有办法吗?谢谢

解决方案 »

  1.   

    你可先放一个容器,如PITUREBOX,使它与MDI主窗体尺寸一致,然后在该PITUREBOX内放置你要的容器。
      

  2.   

    我放上picturebox,我将背景设置成一样,appearance 设置为 flat,borderstyle设置为none,但运行后还是有个明显的边框,这样还是不行,继续求解决方法,不胜感谢
      

  3.   

    那是Picture的边框吗?我试了一下,Picture没有边框了。
      

  4.   

    LZ:你使用如下代码,还有明显的边框吗?
    Private Sub MDIForm_Load()
        Picture1.Appearance = 0
        Picture1.BackColor = Me.BackColor
        Picture1.Height = Me.Height
    End SubPrivate Sub MDIForm_Resize()
        Picture1.Height = Me.Height
      

  5.   

    LOAD窗体时候
    Picture1.Height = Me.Height
    这步报错,  不能在该控件中设置Height属性!,
      

  6.   

    代码VB6通过调试,不知道的版本?
    Private Sub MDIForm_Load()
        Picture1.Appearance = 0
        Picture1.BackColor = Me.BackColor
        Picture1.Height = Me.Height
    End SubPrivate Sub MDIForm_Resize()
        Picture1.Height = Me.Height
    End Sub
      

  7.   

    代码VB6通过调试,不知道你的VB版本? 
      

  8.   

    Picture在MID父窗体里有靠上下左右四个设置,在Align属性里。你靠上下放置的话,自然不能设置宽度,靠左右放置,自然不能设置高度。
      

  9.   

    啊,那样的话,MDI主窗体下都是被这个PICTURE占满了,那我其他的子窗体放在哪?
      

  10.   

    LZ:你的担忧不存在,完全可由代码控制:
    Option Explicit
        Dim xsFlag As BooleanPrivate Sub MDIForm_Load()
        Picture1.Appearance = 0
        Picture1.BackColor = Me.BackColor
        Picture1.Height = Me.Height
    End SubPrivate Sub MDIForm_Resize()
        Picture1.Height = Me.Height
    End SubPrivate Sub xs_Click()     
        If xsFlag Then '隐藏子窗体
            Me.Picture1.Visible = True
            Form1.Visible = False
        Else
            '显示子窗体
             Me.Picture1.Visible = False
            Form1.Show
        End If
        xsFlag = Not xsFlag
    End Sub
      

  11.   

    补充:xs_Click代码是菜单代码。
      

  12.   

    继续放PICTURE也无所谓吧
    没有方法就找投机取巧
      

  13.   


    我要实现的是 ,用这个控件显示系统消息,点消息后 ,弹出消息处理界面,这个时候,消息框还是要显示出来的,
    不过还是非常感谢zdingyun 
    我看是不是只能用第三方控件或单独MDI子窗体来实现这个目的了,但单独MDI子窗体,我有需要将它始终固定在一个位置,并且不能被覆盖,诶,还有办法吗?
      

  14.   

    用普通窗体,Setparent,然后Setwindowspos总在最前
      

  15.   

    思维定式
    为什么一定要mdiform上放控件呢?用一个子窗口不就行了?
    Private Sub MDIForm_resize()
    Load Form1
    Form1.BorderStyle = 0
    With Form1
        .Left = Me.ScaleWidth - Form1.Width
        .Top = Me.ScaleHeight - Form1.Height
    End With
    End Sub
      

  16.   

    解决了,用ACTIVE BAR就可以了,哈哈