Обновление экрана

Во время работы приложения многие объекты на экране изменяют свое состояние. Может измениться текст или графика, содержащаяся внутри объекта. Для того чтобы эти изменения отображались на экране, необходимо обновление объектов.

Обновление (refresh) объектов — это процесс, выполняемый операционной системой для перерисовки окон и компонентов, расположенных внутри окон.

Для самостоятельного вызова метода обновления компонента вы можете использовать метод Refresh, который имеется у всех компонентов CLX, поддерживающих обновление.

При обновлении объекта генерируется событие OnPaint. Вы можете написать собственный обработчик события OnPaint. Приведем пример перехвата события обновления формы. Будем выводить окно c текстовым сообщением всякий раз, когда произойдет обновление формы. Создадим новое приложение — File/New Application. Теперь разместим на форме Form1 кнопку Button1 (рис. 13.1).

13-02-1.jpg

Рис. 13.1. Форма приложения

Напишем в обработчике события OnPaint формы Form1 следующий код (листинг 13.1):

Листинг 13.1.Код обработки события OnPaint

procedure TForm1.FormPaint(Sender: TObject); 
begin
messagedlg('Произошло обновление формы' ,mtInformation, [mbOK], 0); end;

Теперь напишем код обработки события OnClick.

Листинг 13.2.Код обработки события OnClick

procedure TForm1.Button1Click(Sender: TObject); 
begin
Form1.Refresh; // Вызываем метод обновления формы end;

Запустим приложение на выполнение. Сразу после запуска произойдет событие первоначальной прорисовки формы. В результате появится окно сообщения об обновлении формы (рис 13.2).

Попробуйте изменить размеры формы в сторону увеличения или нажмите на кнопку Button1. В результате вы увидите то же самое информационное окно.

Таким образом, во время перерисовки компонента вы можете выполнить необходимые действия.

13-02-2.jpg

Рис. 13.2. Информационное окно, извещающее об обновлении формы

Если вы используете компонент TImage для отображения графики на форме, вам не нужно будет заботиться об обновлении графического изображения, содержащегося в этом компоненте. Обновление будет произведено автоматически. Свойство Picture компонента TImage определяет текущий графический образ, рисунок или другую графику, которую отображает компонент.

Hosted by uCoz