Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УчебноеПособие по VB_6.doc
Скачиваний:
73
Добавлен:
24.12.2018
Размер:
3 Мб
Скачать
☆

4.3.5. Управление графическими объектами

Visual Basic имеет ряд свойств позволяющих управлять перерисовкой графических объектов.

Свойство AutoRedraw

Свойство AutoRedraw графических объектов служит для их перерисовки. Если значение свойства равно False, то VB сохраняет копию объекта в памяти и перерисовку графического объекта надо будет производить самостоятельно. Для ускорения выполнения программы при использовании графики свойство AutoRedraw следует установить в True.

Существуют некоторые различия, как свойство AutoRedraw, будучи установлено в True, работает с формами и графическими окнами.

При уменьшении форм VB сохраняет копию всего экрана. Для увеличения формы этого не требуется, так как графическая информация не теряется. Опция True для сохранения всего экрана и быстрого выполнения требует большого объема памяти. Но если графический объект некорректно подогнан к форме, надо использовать эту опцию.

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

В процедуре Paint нельзя размещать никаких инструкций

по перемещению или изменению размеров объектов.

Свойство AutoRedraw определяет также, будут ли результат работы графических методов автоматически обновляться в окне, если оно скрыто (только для Form и PictureBox). При установке в True результаты работы графических методов будут автоматически обновляться в окне, даже если оно скрыто.

Событие Paint также служит для перерисовки объекта. События Paint, по сравнению с методом AutuRedraw, требует меньше памяти, но более медленно перерисовывает изображение.

Метод Refresh

Этот метод имеется у форм и элементов управления. Он приводит к немедленному обновлению формы или элемента управления и позволяет наблюдать подготовку изображения даже если свойство AutoRedraw равняется True. При использовании данного метода VB будет вызывать процедуру обработки событий Paint, созданную для данного объекта. Наиболее часто данный метод используется в процедуре Form_Resize, чтобы вывести повторно на экран любые графические изображения, подготовленные в Paint. Кроме того, поскольку VB управляет обновлением экрана в течение времени простоя, иногда требуется брать управление данными операциями на себя. В любом месте при использовании метода Refresh происходит немедленная перерисовка изображения объекта и генерация событий Paint, если данный объект имеет его.

Синтаксис использования метода:

Private Sub Form_Resize ( )

Form1.Refresh

End Sub

При использовании метода Refresh изображение выводится на экран за несколько этапов. Однако каждый раз при этом VB рисует изображение по точкам. Такой способ занимает много времени.

Для перерисовки объекта необходимо периодически использовать метод Refresh.

Метод Refresh обычно используется в процедуре Form_Resize для отображения заново на экране монитора любой графики, которая обрабатывается в процедуре Paint.