我的程序是在1024*768下做的,如果拿到800*600下则有的窗体的部分控件将不可见,并且窗体也变形了,请问这种情况怎么解决,大家都是怎么解决这种情况的?帮我出出主意吧!我特别着急!

解决方案 »

  1.   

    在 Form_Resize 事件中改变控件的位置
      

  2.   

    比如说你有一个按钮要放在窗口距左与上都是1/4的地方,就在Form_Resize中加入:xxxx.Left = Me.ScaleWidth / 4
    xxxx.Top = Me.ScaleHeight /4其它也一样,就是手动定位
      

  3.   

    比较合理的办法是将控件放在一个容器里,如picture控件中,容器内控件的位置和大小都是相对容器定义的。在 Form_Resize 事件中调整容器的大小,刷新容器内控件。
      

  4.   

    请问容器内控件如何刷新呢?
    是不是我必须手动的设置每个容器控件的位置?并且,我觉得from_resize是在调整窗体大小的时候才触发的事件,而我是使我的程序在各中分辨率下都能正常显示,这也触发form_resize事件吗?
      

  5.   

    呵呵,不好意思,没仔细看你的问题。
    我一般是这样实现:
    1、main()启动;
    2、在main()中判断分辨率(有API可以调用);
    3、根据分辨率调整picture容器的大小,根据容器大小改变控件大小;
    4、如果相同的控件很多,可以采用控件数组;
    5、你可以写一个Sub或Function,调整控件的大小和位置。在设置控件大小和位置时,采用picture的相对位置。
    6、要示例,留下地址。
      

  6.   

    UP我也想要一个:
    [email protected]
      

  7.   


    Resize 事件
          当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)语法Private Sub Form_Resize( )Private Sub object_Resize(height As Single, width As Single)Resize 事件语法包括下列部分:部分 描述 
    object 一个对象表达式,其值是“应用于”列表中的一个对象。 
    height 指定控件新高度的数。 
    width 指定控件新宽度的数。 
    说明当父窗体调整大小时,可用 Resize 事件过程来移动控件或调整其大小。也可用此事件过程来重新计算那些变量或属性,如:ScaleHeight 和 ScaleWidth 等,它们取决于该窗体的尺寸。如果在调整大小时想要保持图形的大小与窗体的大小成比例,可在一个 Resize 事件中通过使用 Refresh 方法调用 Paint 事件。任何时候只要 AutoRedraw 属性被设置为 False 而且窗体被调整大小,Visual Basic 也会按 Resize 和 Paint 的顺序调用相关的事件。当给这些相关事件附加过程时,要确保它们的操作不会互相冲突。当一个 OLE 容器控件的 SizeMode 属性被设置为 2(自动调大小)时,该控件自动根据所显示的包含于该控件之中的对象的大小来调整其大小。如果所显示的对象的大小发生变化,则该控件自动重调其大小以适应该对象的变化。当这种情况出现时,为该对象调用 Resize 事件会在 OLE 容器控件被重调大小之前发生。height 和 width 部分指示该对象显示的最佳大小(这个尺寸由创建该对象的应用程序决定)。可通过在 Resize 事件中改变 height 和 width 部分的值来按不同的尺寸设定控件的大小。
    Resize 事件示例
    本例在任何调整窗体大小时的时候,都将自动调整一个 TextBox 控件的大小以填充该窗体。要尝试这个例子,可以将代码粘贴到包含 TextBox 的窗体声明部分。 设置 TextBox 控件的 MultiLine 属性为 True,ScrollBars 属性为 3,BorderStyle 属性为 0,然后按F5键并调整窗体大小。Private Sub Form_Load ()
       Text1.Text = ""   ' 清除文本。
    End SubPrivate Sub Form_Resize ()
       Text1.Move 0,0, ScaleWidth, ScaleHeight
    End Sub
      

  8.   

    不好意思,这几天比较忙,明天就整理给你们。
    我忙的时候很少进来这里瞧瞧,大家如果有什么问题可以发邮件给我。
    [email protected]
    我用VB做过很多商业软件,对VB和SQL都满熟悉的。
      

  9.   

    我也想要一份,能发给我吗?
    [email protected]
      

  10.   

    http://expert.csdn.net/Expert/topic/1527/1527360.xml?temp=3.855532E-02
    这个问题我问过,就是上面这个地址,去看看
    我解决了
      

  11.   

    我按照上面的去做了,但是有一个问题,始终无法解决,就是我用了一个sstab控件,但是只有tab1上的控件的大小调整过来了,而tab2上的就干脆出不来了,不知道这是怎么回事儿啊