掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TListViewでスムーズに項目を追加するには? (ID:32048)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ListView1.Items が TListItems だから、いちいちCreateする必要なし。 これで動いているのは、TListItems.Createの時点で、親のListViewを指定 しているためで、Addメソッドを使用すると、親に対してListItemを追加するから。 んで、自分でクリエイトしたTListItemsは、メモリーリークしている予感。 > ※ 少し気になったのですが、上のコードでは、ListItems.Freeがないのですが、(略) TListItemsのインスタンスは、親になったListViewをコントロールする。 for i := 0 to 1000 do begin ListItems := TListItems.Create(ListView1); Aitem := ListItems.Add; Aitem.Caption := 'Caption1'; end; このような記述でも、ListViewには正常に追加されるだろうが、 1000個作成したListItemsのインスタンスのどれか一つでClearしたら、 全部消えます。 個人的にBeginUpdate、EndUpdateで囲んでしまうのがいいと思われる。 遅いのなら、進捗状況表示フォームでも作って、作成状況を表示したら?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.