Основы офисного программирования и язык VBA

       

Image - изображение


Элемент Image - это прямоугольное графическое изображение в диалоговом окне. Его используют как для улучшения внешнего вида окна, так и для показа пользователю информации, представляемой в виде фотографий, рисунков, графиков, диаграмм. Рисунок в элементе Image можно масштабировать, изменять выводимую часть (если рисунок больше изображения на экране), можно динамически изменять размеры изображения, но рисунок нельзя редактировать в диалоговом окне.

Какой именно рисунок или графический образ показывается на экране, определяет свойство Picture. Его значением может быть изображение в одном из графических форматов:. bmp,. cur,.gif,. ico,. jpg и. wmf. Задать значение этого свойства можно при проектировании окна из списка свойств элемента Image. Для этого, щелкнув кнопку (…) в строке со свойством Picture, вызовите программу поиска и загрузки графических файлов, найдите файл с нужным изображением и выберите кнопку Open. Чтобы вывести или изменить изображение программно, используется функция LoadPicture. Например, следующий оператор выводит изображение автомобиля в элемент Image1:

Image1. Picture = LoadPicture ("c:\windows\car. bmp")

Свойство PictureSizeMode определяет масштабирование рисунка. Если его значение fmPictureSizeModeClip = 0, части рисунка, выходящие за рамку изображения, обрезаются, а при fmPictureSizeModeStretch = 1 рисунок масштабируется так, чтобы занимать всю площадь изображения. При этом может произойти искажение (относительное растяжение или сжатие) по горизонтали или вертикали. При значении fmPictureSizeModeZoom = 3 рисунок масштабируется с сохранением своих относительных размеров так, что, либо его высота, либо его ширина совпадают с высотой или шириной изображения на экране. Ниже показано влияние свойства PictureSizeMode на изображение.


увеличить изображение
Рис. 13.3.  Варианты масштабирования изображений

Расположение рисунка внутри рамки изображения задается свойством PictureAlignment. Возможные значения этого свойства перечислены в таблице.


Имя константыЗначениеРисунок расположен
fmPictureAligmentTopLeft 0в верхнем левом углу
fmPictureAlignmentTopRight 1в верхнем правом углу
fmPictureAlignmentCenter 2по центру
fmPictureAlignmentBottomLeft 3в нижнем левом углу
fmPictureAlignmentBottomRight 4в нижнем правом углу


Если значение свойства PictureSizeMode равно fmSizeModeStretch, рисунок занимает всю площадь изображения независимо от значения PictureAlignment. В частности, на рисунке 13. 3 свойство PictureAlignment для всех трех изображений имеет значение 0 (fmPictureAligmentTopLeft).

Если размер вставляемого рисунка меньше размера элемента, в который его помещают, всю поверхность изображения можно покрыть копиями рисунка. Для этого булеву свойству PictureTiling надо присвоить True (по умолчанию у него значение False).

Каким образом располагаются копии рисунка на изображении, зависит от значений свойств PictureAlignment и PictureSizeMode. Например, если первое равно fmPictureAligmentTopLeft, первая копия рисунка разместится в левом верхнем углу, при fmPictureAlignmentCenter первая копия рисунка располагается в центре изображения, а от нее во все стороны распространяются остальные. Если свойство PictureSizeMode равно fmSizeModeStretch, все изображение занято одной копией рисунка, при fmPictureSizeModeZoom может появиться несколько копий, обрезанных по краям изображения. Ниже показано влияние этих параметров на покрытие изображения копиями рисунка автомобиля:


увеличить изображение
Рис. 13. 4.  Влияние параметров PictureAlignment и PictureSizeMode

События: BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Error, MouseDown, MouseUp, MouseMove.

Методы: Move, Zorder.


Содержание раздела