也就是我想把form平分成四个panel,且改变form的大小时四个panel要跟着一起变化。

解决方案 »

  1.   

    自己放好了,然后在窗体的onresize里写事件,记录下窗体的缩放比例,然后去控制那四个panel
      

  2.   

    加四个滚动条,四个panel的Align设为Client,Autosize为true
      

  3.   

    procedure TForm1.FormResize(Sender: TObject);
    var fwidth,fhight:integer;
    begin
    fwidth:=form1.Width-12;//窗口边框微调参数
    fhight:=form1.Height-28;//窗口边框微调参数
    panel1.Left :=0;
    panel1.Width:=trunc(fwidth/2);
    panel1.Top :=0;
    panel1.Height:=trunc(fhight/2);panel2.Left :=trunc(fwidth/2)+1;
    panel2.Width:=trunc(fwidth/2);
    panel2.Top :=0;
    panel2.Height:=trunc(fhight/2);panel3.Left :=0;
    panel3.Width:=trunc(fwidth/2);
    panel3.Top :=trunc(fhight/2)+1;
    panel3.Height:=trunc(fhight/2);panel4.Left :=trunc(fwidth/2)+1;
    panel4.Width:=trunc(fwidth/2);
    panel4.Top :=trunc(fhight/2)+1;
    panel4.Height:=trunc(fhight/2);
    end;
      

  4.   

    //和楼上道理一样~~
    procedure TForm1.FormResize(Sender: TObject);
    begin
      Panel1.BoundsRect := Rect(0, 0, ClientWidth div 2, ClientHeight div 2);
      Panel2.BoundsRect := Rect(ClientWidth div 2, 0, ClientWidth, ClientHeight div 2);
      Panel3.BoundsRect := Rect(0, ClientHeight div 2, ClientWidth div 2, ClientHeight);
      Panel4.BoundsRect := Rect(ClientWidth div 2, ClientHeight div 2, ClientWidth, ClientHeight);
    end;
      

  5.   

    直接配置属性不就行了,根据FORM的大小,设定PANEL的大小,复制,前三个的ALIGN方式为ALTOP,最后一个为ALCLIENT