我用VB开发一个项目,才用主多窗体方式。在主窗体有个属性值 AutoShowChildren
有true和false二个值。我选哪个都没发现有什么不一样?它是什么意思?
还有,我想在主窗体上加入一个背景图片,用主窗体的Picture选择一个图片后,运行,但是图片不在主窗体的正中间。那么如何让图片在窗体的正中间呢?

解决方案 »

  1.   

    通过设定AutoShowChildren属性,可以使子窗体在装入时自动显示 
      

  2.   

    //在主窗体有个属性值 AutoShowChildren
    有true和false二个值。我选哪个都没发现有什么不一样?它是什么意思?通过设定AutoShowChildren 属性为true,可以使子窗体在装入时自动显示
      

  3.   

    //还有,我想在主窗体上加入一个背景图片,用主窗体的Picture选择一个图片后,运行,但是图片不在主窗体的正中间。那么如何让图片在窗体的正中间呢?没什么好办法:自绘
      

  4.   

    对于VB6,直接在窗体的Picture属性中设置背景即可,但是这样图像不能平铺或拉伸。要解决平铺或拉伸这个问题可以参考例子MDI_Background_Demo.zip(下载:http://www.china-askpro.com/download/MDI_Background_Demo.zip),这个例子是从http://www.mvps.org/vbvision/grouped_demos.htm下载的。 
        对于VB5及其以前版本,也可以采用下面说的各种方法: 
        在Windows中标准的做法应该是处理MDI父窗口的WM_ERASEBKGND,但这对VB来说太麻烦了。一个比较简单的办法是先建立一个Form,假设叫FrmCntnr,设置MDIChild为True,Border为0(无)。然后,在Form中加入如下代码: 
        Private Sub Form_Activate() 
         Me.ZOrder 1 
        End Sub 
        确保该Form出现在所有窗口的最下面。 
        在MDIForm的Resize事件中调整Form的大小,以保证它和MDIForm的大小相适应。假设MDIMenu是MDI窗体。 
        Private Sub MDIForm_Resize() 
         If MDIMenu.WindowState <> 1 Then 
         FrmCntnr.Height = MDIMenu.ScaleHeight 
         FrmCntnr.Width = MDIMenu.ScaleWidth 
         End If 
        End Sub 
        由于你可以在普通的Form中设置背景,所以你可以把这个作为背景的Form当作MDIForm的背景。