我想实现这样的功能,像描雷中自定义方格宽度、高度那样定义我的界面,比如说如果用户定义4X4,那我的界面上平铺4行Image控件,每行4个Image,我想请教:
1、在Delphi中如何动态创建立这些Image(有固定的宽、高),并使他们有相同的处理过程?(类似于VB中的控件数组)
2、如何使我的主界面大小自动适应这个设置?

解决方案 »

  1.   

    先定义变量i
    再弄个循环
    for 1 to i do
    begin
      timage(sender).create.name:=image+inttostr(i);
    end;各个控件靠名字来标识,具体自己试吧,好久没写代码,可能有回答错了,多多包涵。
      

  2.   

    procedure TForm1.CreateCtrl(ACount, ACol: integer);
    var
      CtrlArray : array of TImage;
      i, j : integer;
      FT, FL, FW, FH: integer;
    begin
      FW := 50;
      FH := 50;
      FT := 10;
      FL := 10;
      SetLength(CtrlArray, ACount);
      for i := 0 to ACount - 1 do
      begin
        if (i mod ACol) = 0 then
        begin
          FT := FT + FH + 10;
          FL := 10;
        end;
        CtrlArray[i] := TImage.Create(Self);
        with CtrlArray[i] do
        begin
          Parent := Self;
          Top := FT;
          Left := FL;
          Height := FH;
          Width := FW;
          Tag := i;
          Picture.LoadFromFile('E:\icon\button\取消.bmp');
          Name := 'Image' + IntToStr(i);
          OnClick := MyClick;
        end;
        FL := FL + FW + 10;
      end;
    end;procedure TForm1.MyClick(Sender: TObject);
    begin
      ShowMessage((Sender as TImage).Name);
    end;