1 主FORM上有一个PAGECONTROL,其IMAGES属性为IMAGELIST1
2 有N个子FORM,CREATE时自动DOCK到PAGECONTROL上问:在DOCK到PAGECONTROL后,如何设置每个子FORM——每个TABSHEET——的IMAGEINDEX?如果不设的话都默认为0谢谢,分给你

解决方案 »

  1.   

    TabSheet1.imagelist := 0;
    TabSheet2.imagelist := 1;
    TabSheet3.imagelist := 2;
    ........
      

  2.   

    错了,是
    TabSheet1.imageindex := 0;
    TabSheet2.imageindex := 1;
    TabSheet3.imageindex := 2;
    ........
      

  3.   

    我没表达清楚(问:在DOCK到PAGECONTROL后……)的意思是说在
    self.ManualDock(frmMapMain.PageControl3,nil,alClient);
    之后应该怎么样?
    如果是这样
    procedure TfrmMapMain.FormShow(Sender: TObject);
    var
        i:integer;
    begin
        for i:=0 to pagecontrol3.PageCount-1 do
        begin
            case i of
                0:pagecontrol3.Pages[i].ImageIndex:=10;
                1:pagecontrol3.Pages[i].ImageIndex:=11;
                2:pagecontrol3.Pages[i].ImageIndex:=12;
                3:;
                4:;
                5:;
                6:;
            end;
        end;
    end;
    我觉得傻了点
      

  4.   

    可以写得精简一点,但也好不到哪里去
    procedure TfrmMapMain.FormShow(Sender: TObject);
    var
        i:integer;
    begin
        for i:=0 to pagecontrol3.PageCount-1 do
        begin
          pagecontrol3.Pages[i].ImageIndex:=10 + i;
        end;