Антон Кузнецов рассказывает как сделать более удобным и практичным окно, которое появляется при длительных операциях, о том, как повысить usability формы SysOperationProgress.

Антон Кузнецов (kvan), kvan@rabota-na-rezultat.ru

Как расширить окно SysOperationProgress

Довольно часто можно наблюдать, что текст в окне прогресса операции обрезается.

Стандартная форма SysOperationProgress. Не весь текст виден в информационной строке.

Это несложно исправить.

Первое что приходит в голову – найти в приложении форму SysOperationProgress. И такая форма есть. Открываем дизайн и меняем свойство Width на нужное нам значение. Запускаем какой-нибудь прогресс (например, с помощью формы Tutorial_Progress) и видим что ничего не изменилось. Перекрестные ссылки нам показывают, что форма SysOperationProgress ничем не используется!

Все немного сложнее, но если разобраться в коде класса SysOperationProgress, мы видим что форма прогресса создается "на лету" в классе SysOperationProgressForm, а именно в методе setupForm. Найдем в этом методе строку в со следующим кодом:

formStaticTextControl.width( max(200, formDesign.widthValue() - formDesign.leftMarginValue() – formDesign.rightMarginValue()));

В этом месте задается ширина элемента управления в котором отображается текст. Изменим значения цифровой константы с 200 на 500 (или кому сколько необходимо). Запускаем какой-нибудь прогресс и видим что теперь окно прогресса стало шире.

Модифицированная форма SysOperationForm.


Антон Кузнецов (kvan), kvan@rabota-na-rezultat.ru