请问delphi中的窗体控件能不能随窗体的增大缩小而同样变大缩小而且位置比例相同,比如说窗体中间放一个按钮不管窗体变多大按钮都在中间而且会同窗体比例增大缩小.好像anchor属性不行把控件放太大了,ScaleBy()方法也不行虽然有点效果但是控件位置老是乱变,请问英雄们有没有更好的办法能实现.

解决方案 »

  1.   

    Button的DragKind:=   dkDock以及DragMode:=   dmAutomatic,另外就是自己写代码把你要拖动的Button(或其他)DragKind设为dkDock,DragMode设置为dmAutomatic   
    另外把它的Parant(比如说Form)的DockSite设为True   
      

  2.   

    anchor好像是可以缩放的吧如果不行的,设置Align属性为alClient。或者在窗体的OnResize事件中自己写代码改变大小
      

  3.   

    anchor可以缩放是没错但是窗体一放大后它把控件放的好大,要是知道怎么写我都不用这么辛苦在这里问了噢。
      

  4.   

    要想实现你的这个效果,只有Easysize组件,个人认为封装的比较好,简单容易使用,拖个控件放到界面上,2行代码就搞定了。欢迎参加高级群:9642802,组件在共享里;上面说的2句代码是:
    1、FormCreate事件中:
      FormResizer1.InitializeForm;
    2、FormResize事件中:
      FormResizer1.ResizeAll;实现的效果,和你要求的一样。
      

  5.   

    “窗体一放大后它把控件放的好大”
    anchor是锚定边距,控制控件与父窗体边缘的距离。
    你要的这个还是自己响应OnResize事件吧。