在delphi中怎么实现随着窗体的变化始终是显示窗体的全部?就是不论窗体是多大都可以看到窗体的全部。

解决方案 »

  1.   

    在窗体的object inspector属性设置里将autosize设置为true  就不显示滚动条了,不过将窗体拉伸到你你想要的全部就好了
      

  2.   

    1.在Form中属性WindowState设置成wsMaximized,窗体最大化
    2.属性Anchors设置窗体内的控件随窗体大小变化而变化
      

  3.   

    试试Anchors属性,看看是不是你想要的
      

  4.   

    就是Anchors属性,建议LZ自己写个小例子测试下就理解了
      

  5.   

    我有个建议!
    相互交流。
    用time控件,在time控件里设置窗体的大小。
    怎么变都不会改变。
    time时间设小点。怎么拉都没问题。
    不知道有没有用,对你。
      

  6.   

        他的意思是说,当主窗体很小也,也要全部显示出来,比如说dbgrid过小时,下面会有一个移动栏就会出现,    楼主是想当主窗体也过小时,空上移动栏不会出现,而是dbgrid按比例缩小而,要作到这个可以写一个方法:
        初始化一个窗体大小,后当主窗体高、宽发生变化时,你窗体上的所有的控件也跟着这个比例变化,遍历窗体上的所有的控件,这样必然会有一些字体会显示不出来(当缩小时),你作成刚好显示的效果不就可以了?   楼主可以试下
      

  7.   


    同意楼主可以在窗体的OnReSize里面
    重新设置一下,窗体中控件的大小,包括控件Height,width,字体大小,等等我有个比较常用的技巧,就是用百分比来设置这些参数,事先把要设置的参数归类到一个方法或函数中,然后统一百分比,就可以了,当然这个得多调几次,才能比较完美
      

  8.   

    我是这样想的,如果全部改变,没有多大意义。    比如:我的窗口上左边有导航栏,右边是grid控件。如果窗口变大,整个变大,字体也变大,会很难看的,同样一种字体,字号不一样,效果就不一样,并不是好主意。
        比较好的处理方法是:导航栏不变,grid变大,但字体也不要变,否则会很难看。其实这个问题,不只是delphi,网页设计等都有一个最佳分辨率的。原来是640X480,后来是800X600,再后来大多都是1024X768了。
     
      

  9.   

    再次关注,学习。不过你窗体大与小终究还是有一个限制的,否则太大、太小也没有什么意义。一般的情况Anchors属性就够了,如果要实现自己定制的大小,就必须用函数来设置每个控件的大小了。
      

  10.   

    同意,  对于变化不是很大的窗体, 可以考虑将某一个控件的Align属性设为alClient, 
    这样只有这一个控件会缩放, 其他的控件可以保持不变。如果是整个窗体要等比例缩放, 那么就只能自己写代码,循环所有的控件来处理, 参考19楼。
      

  11.   

    可以实现的如窗体的事件RZSIZE和图片控件
    顶顶帖子
    我是来接分的......
      

  12.   

    一般是设计个最小窗体,在Constraints属性里设置最小宽度和高度,最大不要设了。
    太小了控件都不见了,没意义吧。
    然后放上些容器控件Panel,设置Align属性,alTOP,alBOTTOM,alLEFT,alRIGHT,其中一个panel设成alClient(一般用于放置Grid或memo等),保证满窗体。
    容器里的控件根据需要设置相应的Align或Anchors属性(Align和Anchors是相互关联的属性)这些基本能满足了,只是有些老的工控上用的控件,没有Align和Anchors属性,只能是自己写代码来调整了。对于有些自己定制的窗体,要注意调整控件的位置和大小的代码,不要放在窗体的OnResize里,而是放在其父容器控件的OnResize里(反正我是碰到过,只要分配了窗体的OnResize事件,窗体就不按我们需要的方式显示了,当然这里是指自己定制的窗体的显示方式了,默认窗体显示方式下好象没这个问题)