Автоматический вывод изображений на форму после запуска проекта. Для того чтобы изображение автоматически размещалось на форме после запуска проекта, необходимо в процессе разработки проекта воспользоваться свойством формы Picture (изображение). Для этого в окне Свойства объекта из списка свойств формы необходимо выбрать и активизировать пункт Picture. В появившемся диалоговом окне выбрать файл, содержащий нужное изображение.
Проект 5.2. «Компьютер в
картинках». Создадим проект, который
будет выводить на форму изображения
компьютера и его устройств.
|
Проект «Компьютер в картинках». |
|
1 |
Создать
новый проект. |
|
2 |
В
окне Свойств объекта установить для
свойства формы Name значение frm1 и для свойства Caption значение “Первая форма”. |
|
3 |
Активизировать
свойство Picture, щелкнуть
по значку “...” в окошке этого свойства
и с помощью появившегося диалогового
окна Load
Picture
выбрать на CD-ROM нужный графический файл (например,
computer.gif). |
|
4 |
После
запуска проекта на выполнение появится
форма с размещенным на ней изображением,
которое размещается в верхнем левом
углу формы, Если изображение больше
формы, то будет видна только та его часть,
которая помещается на форме. |
|
Вывод изображений на форму с помощью событийных процедур. Для вывода изображений на форму в процессе выполнения программы необходимо воспользоваться событийной процедурой, содержащей функцию LoadPicture. Эта функция имеет синтаксис:
LoadPicture
[(имя
файла)]
Имя файла должно указывать на графический файл одного из форматов (ICO, BMP, WMF, JPG и др.). При отсутствии имени файла функция возвратит пустую рамку.
Если проект загружается из среды Visual Basic, то нужно указывать полный путь к файлу с изображением, т.е. аргументом функции LoadPicture должно являться полное имя файла (включая путь к этому файлу).
Если проект загружается из папки с проектом и если рисунок лежит в той же папке, что и файл проекта, можно указывать только имя файла изображения.
В нашем проекте полное имя файла с изображением монитора: E:\CD-ROM\practicum\VisualBasic\Project\project2
Присвоим свойству Picture формы frm1 значение функции LoadPicture в событийной процедуре Click, связанной с кнопкой cmd1:
Private
Sub
cmd1_Click()
frm1.Picture=LoadPicture
("E:\CD-ROM\practicum\VisualBasic\Project\project2\monitor.gif")
End
Sub
5 |
Разместить на форме кнопку и
присвоить свойству Name значение cmdMon, а свойству Caption
– значение Монитор. |
|
6 |
Осуществить
двойной щелчок по кнопке и в окне Программного
кода ввести текст событийной
процедуры. |
|
7 |
После
запуска проекта щелкнуть по кнопке Монитор,
на форме появится изображение монитора,
которое размещается в верхнем левом
углу формы. |
|
8 |
После сохранения проекта на диске в папке проекта появится файл формы с расширением .frx. Этот файл создается автоматически при размещении на форме изображения. Имя этого файла совпадает с именем файла формы.
Вывод изображений на форму с
использованием элемента управления Image. Элементы
управления Image
позволяют выводить на форму изображения из
графических файлов различных типов (BMP,
JPG, GIF
и др.) в заданную область. Префикс для имен
элементов Image – img.
Для того чтобы изображение автоматически выводилось после запуска проекта, необходимо в процессе разработки проекта воспользоваться свойством Picture элемента управления Image.
Для вывода изображений в процессе выполнения программы необходимо воспользоваться событийной процедурой, содержащей функцию LoadPicture.
Добавим в проект вторую форму и
разместим на ней элемент управления Image. Установим автоматический вывод
изображения в этот элемент.
9 |
Добавить в проект форму
командой [Project-Add Form]. |
|
10
|
Разместить в центре
формы элемент управления Image и активизировать его. |
|
11 |
В
окне Свойства объектов для свойства Picture
выбрать на CD-ROM нужный графический файл (например,
computer.gif). |
|
12 |
Запустить проект на
выполнение. Изображение выводится в
элементе Image в центре формы. |
Запрограммируем
теперь возможность вывода изображения
процессора (файл processor.jpg)
в элемент Image в
событийной процедуре:
Private Sub cmdProc_Click()
img1.Picture
= LoadPicture("E:\practicum\VisualBasic\project\project2\processor.jpg")
13 |
Разместить на форме кнопку и
присвоить свойству Name значение cmdProc, а свойству Caption
– значение Процессор. |
|
14 |
Осуществить
двойной щелчок по кнопке и в окне Программного
кода ввести текст событийной
процедуры. |
|
15 |
Запустить
проект на выполнение и щелкнуть по
кнопке Процессор. Изображение
имеет гораздо большие размеры, чем
размеры элемента Image
и размеры самой формы, и поэтому видно
лишь частично. |
|
Для того чтобы сделать
изображение видимым полностью можно
увеличить значения свойств Width
и
Height для элемента Image
и формы.
Можно также сделать изображение
полностью видимым, не меняя размеров
элемента Image, воспользовавшись
свойством Stretch (подгонка).
По умолчанию свойству Stretch
задано
значению False. Когда
значение свойства Stretch равно True,
размер изображения
подгоняется под размер элемента управления
путем масштабирования. Если отношение
высоты к ширине изображения отличается от
отношения высоты к ширине элемента Image, то коэффициент
масштабирования по высоте и ширине
различается и изображение искажается.
16 |
Запустить
проект на выполнение и щелкнуть по
кнопке Процессор. Изображение
полностью размещено в элементе Image, но искажено. |
|
Вывод изображений на форму с
использованием элемента управления PictureBox. Элемент
PictureBox (графическое
окно) позволяет размещать графическую
информацию из файлов различных типов (BMP,
JPG, GIF
и др.) в определенных участках формы.
Префикс для имен элементов PictureBox - pic.
Элементы управления PictureBox позволяют не только выводить изображения, но и являются фактически «формами внутри форм», в которые можно помещать элементы управления, выводить текст и рисовать при помощи графических методов. Графические окна могут применяться также для перемещения изображений по форме. Они имеют больше возможностей, чем элементы Image, но требуют больше памяти и времени на обработку.
Для того чтобы изображение автоматически выводилось после запуска проекта, необходимо в процессе разработки проекта воспользоваться свойством Picture элемента управления PictureBox.
Для вывода изображений в процессе выполнения программы необходимо воспользоваться событийной процедурой, содержащей функцию LoadPicture.
Добавим в проект третью форму и
разместим на ней элемент управления PictureBox, а внутри графического окна поместим
метку с надписью Компьютер. Установим автоматический вывод
изображения и метки в графическое окно.
17 |
Добавить в проект форму
командой [Project-Add Form]. |
|
18
|
Разместить в центре
формы элемент управления Picture
Box
и
активизировать его.
В окне Свойства
объектов для свойства Picture выбрать на
CD-ROM нужный графический файл (например,
computer.gif). |
|
19 |
Разместить метку в
графическом окне и для свойства Caption установить значение «Компьютер». |
|
20 |
Запустить проект на
выполнение. Изображение выводится в
элементе PictureBox в форме, а
метка – в графическом окне. |
Запрограммируем
теперь возможность вывода изображения
процессора в элемент PictureBox
в событийной
процедуре, аналогичной рассмотренной выше.
21 |
Разместить на форме кнопку, осуществить
двойной щелчок по кнопке и в окне Программного
кода ввести текст событийной
процедуры. |
|
22 |
Запустить
проект на выполнение и щелкнуть по
кнопке Процессор. Изображение имеет
гораздо большие размеры, чем размеры
элемента PictureBox и
поэтому будет видно лишь частично. |
|
Можно сделать изображение полностью видимым, увеличив размеры элемента PictureBox и воспользовавшись свойством AutoSize (авторазмер). По умолчанию свойству AutoSize задано значению False. Если свойству AutoSize присвоить значение True, размеры элемента управления подгоняются под размеры изображения.
Теперь
надпись на метке не соответствует
выведенному в графическое окно рисунку.
Практически все объекты, в том числе и метка,
имеют свойство Visible
(видимый),
которое может принимать два значения True
(по умолчанию) и False.
Если присвоить свойству Visible метки значение False, то метка станет невидимой.
Организация
переходов между формами, входящими в проект.
В наш проект входят три формы, необходимо
создать возможность просмотра каждой из
них.
Во-первых,
можно установить в свойствах проекта какая
из входящих в него форм загружается первой
при запуске проекта и соответственно
становится видимой.
23 |
Ввести
команду
[Project-Project1 Properties…]. На
появившейся диалоговой панели Project1-Project1
Properties
в раскрывающемся списке Startup
Object
выбрать форму frm1, которая будет
загружаться первой. |
|
Во-вторых,
можно создать связанные с кнопками
событийные процедуры, которые делают
видимой ту или иную форму, используя
свойство Visible.
Разместим
на форме frm1
кнопку cmd2
и напишем для нее
событийную процедуру, которая делает
видимыми одновременно все три формы frm1,frm2
и frm3:
Private
Sub
cmd2_Click()
frm1.Visible
= True
frm2.Visible
= True
frm3.Visible
= True
End Sub
24 |
В окне Программного
кода
ввести событийную процедуру cmd2_Click()
для кнопки Все формы. |
25 |
Запустить
проект на выполнение и щелкнуть по
кнопке Все формы. На экране монитора
появятся все три формы.
|
Для перехода с одной формы на другую, например, для перехода со второй или третьей формы на первую, событийная процедура должна делать видимой только первую форму:
Private
Sub cmd1_Click()
frm1.Visible
= True
frm2.Visible
= False
frm3.Visible
= False
End Sub
26 |
5.7. Создать проект «Видимость метки», в котором по щелчку по одной кнопке метка выводится на форму, а по щелчку по второй кнопке – исчезает.
5.8. Создать проект «Видимость формы», в котором по щелчку по кнопке на первой форме выводится вторая форма, и наоборот.
5.9. Усовершенствовать проект 2 «Компьютер в картинках» так, чтобы обеспечить возможность перехода с каждой из трех форм на любую другую в процессе выполнения проекта.
5.10. Усовершенствовать проект-задание 5.9 так, чтобы обеспечить вывод изображения сканера в элемент Image на вторую форму и вывод изображения цифровой камеры в элемент Picture Box на третью форму. Предусмотреть соответствие надписи на метке выводимому изображению.
5.11. Создать проект «Собери картинку». Изображение разбить на фрагменты и неупорядоченно вывести их на форму. Предусмотреть возможность вывода фрагментов на форму таким образом, чтобы получалось первоначальное изображение.