- Событие OnProgress
Событие OnProgress
События OnProgress наступают во время медленных процессов изменения графического изображения, таких как загрузка, сохранение, трансформация. Заготовка его обработчика приведена в листинге 22.7.
Листинг 22.7. Обработчик события OnProgress
Stage, BYTE BsrcentDone, bool RedrawNow, const TRect &R, const AnsiString Msg)
{
}
Эти события позволяют построить в приложении индикатор хода процесса, обеспечивающий обратную связь с пользователем. Разработчики новых компонентов могут генерировать события OnProgress, вызывая защищенный метод Progress. Параметр Stage указывает стадию процесса: начало, продолжение, окончание. Он может соответственно принимать значения psStarting, psRunning и psEnding. Если приложение предусматривает индикацию процесса, то можно создавать индикатор при Stage = psStarting, изменять его показания, пока Stage = psRunning и закрывать при Stage = psEnding. Параметр PercentDone показывает, какая примерно часть процесса выполнена. Этот параметр может использоваться в индикаторе процесса. Параметр RedrawNow указывает на то, возможно ли в данный момент успешно отобразить изображение на экране. Параметр R указывает область изображения, которая изменена и нуждается в перерисовке. Параметр Msg содержит краткую справку о протекающем процессе. Например, Loading (Загрузка) или Storing (Запоминание) или Reducing colours (Уменьшение цветов). Строка Msg может быть и пустой.