ListView,动态的增加Column,速度慢,为什么?

litangel 2003-08-21 09:23:00
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
ListView1.Columns.Clear;
with ListView1 do begin
ListView1.DoubleBuffered := true;
Columns.Add;
Columns[0].Width := 100;
for i := 0 to 11 - 1 do begin
Columns.Add;
Columns[i+1].Alignment := taCenter;
Columns[i+1].Caption := 'ÎÒÎÒ';
Columns[i+1].Width := 62;
end;
Columns.Add;
Columns[Columns.Count-1].Caption := '×ܼÆ';
Columns[Columns.Count-1].Width := 80;
end;
end;

执行上述代码,ListView的列会像动画一样,一个接一个的显示,
我想是不是增加一列,ListView就会刷新,
能不能先不让ListView刷新,等所有的列加完了,再刷新?

谢谢了。
...全文
67 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
litangel 2003-08-21
  • 打赏
  • 举报
回复
谢谢。

解决了。
liuhelin 2003-08-21
  • 打赏
  • 举报
回复

ListView1.Items.BeginUpdate;
ListView1.Columns.Clear;
with ListView1 do begin
ListView1.DoubleBuffered := true;
Columns.Add;
Columns[0].Width := 100;
for i := 0 to 11 - 1 do begin
Columns.Add;
Columns[i+1].Alignment := taCenter;
Columns[i+1].Caption := 'ÎÒÎÒ';
Columns[i+1].Width := 62;
end;
Columns.Add;
Columns[Columns.Count-1].Caption := '×ܼÆ';
Columns[Columns.Count-1].Width := 80;

Items.EndUpdate;

end;
litangel 2003-08-21
  • 打赏
  • 举报
回复
UP一下。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧