Строка прогресса сортировки списка строк

У меня есть TListBox, который может иметь очень длинный список строк при загрузке, поэтому у меня есть оператор, чтобы начать сортировку, нажав кнопку. Иногда сортировка может занять около минуты, и оператору остается задуматься о том, что происходит.

Можно ли использовать TProgressBar, чтобы показать, что что-то происходит? Если так, то как?

ИЛИ ЖЕ

Можно ли серым цветом (визуально отключить) экран при запуске, а затем вернуть цвет к белому после завершения сортировки? Если так, то как?

Спасибо

1 ответ

Я считаю, что ваша основная проблема заключается в том, что вы используете визуальный контроль в качестве контейнера. Сортировка списка внутри контейнера будет иметь ужасную производительность. Поместите 60000 строк в TStringList и вы сможете сразу их отсортировать.

Вместо того, чтобы удерживать элементы в визуальном элементе управления, вы можете управлять им в виртуальном режиме. Это будет самый эффективный способ работы.

Если вы сделаете эти изменения, вам не понадобится индикатор выполнения.

Другие вопросы по тегам