我在1024X768机器上开发的。放一个图片,可是在更高分辨率机器上运行时,图片为小了。不能撑满整个窗体,我应如何是好呀?
如何可以适应各种分辨率的机器呀?

解决方案 »

  1.   

    图片在Form上的话
    form_resize()
    在picture的话
    picture1_resize()
    写代码调整图片大小private sub picture1_resize()
    picture1.PaintPicture picture1.Picture, 0, 0, picture1.ScaleWidth, picture1.ScaleHeight
    end sub
      

  2.   

    谢谢,我是在mdi主窗体的picture属性中加的图片,这种情况如何写呢?
      

  3.   

    你这个情况以前碰到过:系统在小字体的环境下开发,把系统字体换成大字体时回变的很不协调.    有一个办法是:在登陆你的程序时,将系统的分辨率等信息调整为适合系统的1024X768模式(并将其记录下来),然后在系统被切换或者退出时,再将系统的分辨率换回原来的分辨率即可(即将在系统登陆时记录下来的分辨率信息还原即可,不少游戏都有这个操作,可以去看看是什么样的一个效果),用API实现.
      

  4.   

    用图片总不是最好的办法,如果是宽屏的显示器呢?很多笔记本和几乎所有Apple的机器都是宽屏的,图像如果撑满也会被拉伸,如果可能还是即时绘制比较好。
    尤其是在mdi主窗体中处理比较困难,不过可以找个窗体中放个不会显示出来的PictureBox,让它在mdi主窗体Resize时总和该窗体一样大,并在其中用picture1.PaintPicture picture1.Picture, 0, 0, picture1.ScaleWidth, picture1.ScaleHeight然后赋值给mdi主窗体的picture属性,估计可以直接赋值,实在不行保存成Bmp再在mdi中LoadPicture也总是可以的
      

  5.   

    1、在MdiForm上面放一个PictureBox控件:Picture1
    2、设置属性:(当然也可以放到代码MDIForm_Load里)
    Visible=False
    AutoRedraw=True
    当然你还可以设置Picture1下对齐,高度为0,这样设计时不会影响其他控件观感3、在Picture1里面放背景图片Private Sub MDIForm_Resize()
        Picture1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
        Picture1.PaintPicture Picture1.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight
        Me.Picture = Picture1.Image
    End Sub