用一IMAGE控件在FORM_RESIZE中使IMAGE大小等于窗体的然后IMAGE的STRETCH设为TRUE即可
还不明白的话,我再帖代码.

解决方案 »

  1.   

    sorry
    如果放在一个容器里呢(picture box)
      

  2.   

    我刚才试了将picture box 放在MDI窗体上有菜单,有工具条,下面是PICTURE BOX
    里面放IMAGE可以吧,我只在窗体上画画,没编代码。
      

  3.   

    这可能是vb5和vb6的一个bug,实现不了,如果要实现的话,要调用大量的api
    //sign  希望vb7能解决这一问题
      

  4.   

    上述朋友所说方法均不可行!在MDIFORM上放置picture则无法改变picture的width和height,ImageBox则根本无法加入mdiform!别无他法,只有用API来实现了,因为有窗口的hWnd就好办了,由hWnd获取hDC,然后装载位图,在这个窗体上画这幅位图!
      

  5.   

    这绝对不是vb5和vb6的一个bug,开发者这样设计有他们的道理,好好看一看MDIFORM的各种属性和事件,以及和普通FORM的用法上的不同,并且用一下MDIFORM,你会体会到我的这个说法的……
      

  6.   

    MDI窗口的背景图片
    http://210.75.132.33/lakes/detail.asp?id=43
      

  7.   

    如果只是为了把图象作背景的话,就比较简单,你可以用API函数把图象读到内存中,然后在画到MDIFORM的背景上,当FORM_LOAD时作,FORM_RESIZE时也作,我想应该就可以了。
      

  8.   

    可利用PicClip控件实现。Private Sub MDIForm_Resize()
        Dim Ref As Single
        
        Ref = 26.46
        On Error Resume Next
        
        Me.MousePointer = 11
        
        PicClip1.Picture = Picture1.Picture 'LOAD 一个图片(自己看着办)
        
        PicClip1.ClipX = 0
        PicClip1.ClipY = 0
        
        PicClip1.ClipHeight = PicClip1.Picture.Height / Ref
        PicClip1.ClipWidth = PicClip1.Picture.Width / Ref
        
        PicClip1.StretchX = Me.ScaleWidth / Screen.TwipsPerPixelX
        PicClip1.StretchY = Me.ScaleHeight / Screen.TwipsPerPixelY
        
        Me.Picture = PicClip1.Clip
        
        Me.MousePointer = 0
    End Sub
      

  9.   

    最好是采用wxj_lake提供的例子,不错!不过请在下属代码中加入这样一行,否则MDIFORM显示后背景图片出不来,需要resize一下才能出来:
    Private Sub MDIForm_Load()
       …………
       SendMessage hwnd, WM_SIZE, 0&, 0&
    End Sub