请教 Delphi中,有一个PageControl,有20个page页,每页上有一个ListView,每个Listview的列都是一致的,有30列,我创建的时候试过先创建这些列,显示的时候Show和ListView.Columns.Add两种方法,都非常慢,有其他的办法吗?谢谢

解决方案 »

  1.   

    代码太多了,就不贴了。因为这个pagecontrol放在主界面上,所以有速度要求
      

  2.   


    var
      i,j : Integer;
      ts : TTabSheet;//分页
      lv : TListView;//ListView
    begin
      pgc1.Visible := False;  //创建分页
      for i := 1 to 20 do
      begin
        ts := TTabSheet.Create(pgc1);
        ts.PageControl := pgc1;
        ts.Caption := Format('TabSheet_%d',[i]);    //创建ListView
        lv := TListView.Create(ts);
        lv.Parent := ts;
        lv.Align := alClient;
        lv.ViewStyle := vsReport;    //创建列
        lv.Columns.BeginUpdate;
        for j := 1 to 30 do
        begin
          with lv.Columns.Add do
          begin
            Caption := Format('Column_%d',[j]);
          end;
        end;
        lv.Columns.EndUpdate;
      end;  pgc1.Visible := True;
    end;