VB窗体大小根据屏幕自动调节

解决方案 »

  1.   

    Private Sub Form_Load()
        Me.Width =0.8 * VB.Screen.Width
        Me.Height =0.8 * VB.Screen.Height
    End Sub
      

  2.   

    VB窗體大小是根據自己電腦分辨率調節,可以換一台電腦,電腦分辨率變了,有的窗體不見了,有的窗體上的字不見了,有需要的Form上所有控件能根據電腦分辨率自適應調節,謝謝dbcontrols兄弟;
      

  3.   

    VB窗體大小是根據自己電腦分辨率調節,可是換一台電腦,電腦分辨率變了,有的窗體不見了,有的窗體上的字不見了,我需要的Form上所有控件能根據電腦分辨率自適應調節,謝謝dbcontrols兄弟;
      

  4.   

    你主题贴里问“Form上所有控件能根據電腦分辨率自適應調節”了么?
    你的主题贴俺回答完了,其他问题另开贴。
    如果一味地给出新问题,这一辈子只伺候你一个人都不够
      

  5.   

    纯vb么?呃。。vb.net的控件可以锚定,随窗口大小适应。我不知道vb控件有没有类似功能,你查查吧。没有的话只能手工做了。有两种方法,都要确定每个控件要设定它们是否有最小大小:
    1、模拟锚定。每个控件锁定左边或上边或下边或右边。如果左右都锁定,则在窗体变宽时控件变宽。
    1、用算法。比如将控件一行一行得排,窗口拉宽后下一行的控件会移至上一行。两种方法都要在窗体大小被改变里处理
      

  6.   

    剛剛發現分辨率與窗體大小有一個15倍的關係;Fox Example:1>分辨率 1280*800 窗體最大:19200*12000
                 2>分辨率 1024*768 窗體最大:15360*11520
       
      

  7.   

    if screen.TwipsPerPixelX=800 and screen.TwipsPerPixely=600 then
        你的调整语句
    elseif screen.TwipsPerPixelX=1024 and screen.TwipsPerPixely=768 then
        你的调整语句
    end if
      

  8.   

    你可以买提供这项功能的第三方控件,其它的就没有什么捷径了Private Sub Form_Load()
        Me.Width =0.8 * VB.Screen.Width
        Me.Height =0.8 * VB.Screen.Height
    End Sub
    根据这个,也就是无论你多大的分辨率都是显示80%。同理,你就把相关的代码加进来就好了
    Private Sub Form_Load()
        Me.Width =0.8 * VB.Screen.Width
        Me.Height =0.8 * VB.Screen.Height
        text1.left=...
        text1.width=...
    End Sub只有图标上面的文字那就不能控制了,等你做熟了以后抽象成一个类,然后在窗体加载的时候调用这个类帮你弄。
      

  9.   

    这个对vb来说,不是件容易的事。建议做成固定大小的窗体。另外一种方法是在不同的分辨率下调整好窗体,分分辨率存为不同的文件。通过分析word等程序,就按发现它们问什么会自动适应不同的分辨率。它们一般为上部,下部,左侧为内容区。中间为可以自动调整大小的控件(单一控件,如text,或者picture等)。这样就可以轻松调节适应不同的分辨率了。对于vb复杂的窗体布局,个人观点:很难做到一个程序去适应不同的分辨率。
      

  10.   

    楼主,想自己的程序的窗口大小随系统的分辨率的改变而改变,很简单,下我的VB捕获系统分辨率的改变的源码,下载地址是http://download.csdn.net/user/JiLuoXingRen/all/3,资源名称是【Vb捕获屏幕分辨率的改变】。
      

  11.   

    对于96DPI的显示器,1像素=15缇,1280*800是指像素,窗体大小单位为缇(Twip)
      

  12.   

    我目前编写的程序也遇到了这个问题,而且,编译时和生成exe文件,控件位置也不一样,晕倒