0

ロード時に非常に長い文字列リストを持つことができる TListBox があるので、オペレータにボタンをクリックしてソートを開始させます。場合によっては、並べ替えに 1 分近くかかることがあり、オペレーターは何が起こっているのか不思議に思うことがあります。

TProgressBar を使用して何かが起こっていることを示す方法はありますか? もしそうなら、どのように?

また

開始時に画面を灰色 (視覚的に無効) にして、並べ替えが完了すると白に戻すことはできますか? もしそうなら、どのように?

ありがとう

4

1 に答える 1

8

あなたの根本的な問題は、ビジュアル コントロールをコンテナーとして使用していることだと思います。コンテナー内のリストを並べ替えると、パフォーマンスが大幅に低下します。60,000 個の文字列を aTStringListに入れると、すぐに並べ替えることができます。

アイテムをビジュアル コントロールに保持するのではなく、仮想モードで操作できます。それが最も効率的な運用方法になります。

これらの変更を行った場合、進行状況バーは必要ありません。

于 2014-03-09T21:58:07.520 に答える