ЛАБОРАТОРНАЯ РАБОТА №9
	"Графика в Visual Basic"

	Цели: 1) Изучить основы внесения графики в приложение.
	      2) Изучить основы анимации.	

	Поговорим о компьютерной графике. Вообще, я бы выделил три
	типа компьютерной графики: 1) графика, полученная пользов-
	ателем извне (это всемозможные рисунки и картинки, скачен-
	ные из сети и пр.); 2)  графика,  сделанная  пользователем 
	самостоятельно (нарисована вручную, с помощью мыши и пр.);
	3) графика, полученная в результате математических расчет-
	ов (графики функции, диаграммы и пр.)

	Сегодня мы сделаем две небольших программы, которые помог-
	ут нам разобраться с графикой.  Итак,  вот  вам  сведения: 
	среди стандартных элементов управления Visual  Basic  есть 
	элемент Line (линия), который предназначен для (кто бы мог 
	догадаться?) для создания линий.

	Пример 1.
	~~~~~~~~~

	Создадим простенькое приложение, в котором мы можем играть
	линией на форме, изменяя ее расположение. Для начала поме-
	стите на форму четыре метки, четыре текстовых  окна,  одну 
	командную кнопку и одну линию. Примерно так:

	
Теперь занесите код: Rem При загрузке формы Private Sub Form_Load() Text1 = Line1.X1 Text2 = Line1.X2 Text3 = Line1.Y1 Text4 = Line1.Y2 End Sub Rem При нажатии кнопки Private Sub Command1_Click() Line1.X1 = Val(Text1) Line1.X2 = Val(Text2) Line1.Y1 = Val(Text3) Line1.Y2 = Val(Text4) End Sub В результате мы получим простенькое приложение, которое может выводить в текстовые окна координаты линии (x1, y1, x2, y2) и, в случае если мы введем новые координ- аты и нажмем командную кнопку "Применить", - менять их в реальном времени на форме. Если вы все сделаете правильно, то получите приложение вида:
Очень важные сведения. ~~~~~~~~~~~~~~~~~~~~~~ Давайте вспомним о процудурах. Мы знаем, что они бывают нескольких типов. (Сколько именно - мы не помним, но что их несколько типов - знаем наверняка...) Есть процедуры "обработки событий" - они срабатывают в том случае, если произошло какое-то событие (пользователь кликнул на коман- дной кнопке, переключил радио-кнопку и т.д.) Есть процеду- ры, написанные программистом: они вызываются из других процедур для выполнения каких-то действий (вычисления, пе- рекодировка строки, скрытие/показ какого-то элемента упра- вления и пр.) Но есть (внимание, это очень важно!) процедуры, которые должны срабатывать в зависимости от времени. Как это? Нап- ример, пользователь запустил наше приложение, а через 10 минут вызвалась процедура и, оп, вывелась надпись "зареги- стрируйте свою версию!" Или еще лучше: каждые десять секу- нд вызывается процедура, которая включает/выключает видим- ость кнопки "Выход". То есть, нам могут потребоватся процедуры, которые самост- оятельно запускаются на исполнение в зависимости от време- ни. Для управления такими процедурами предусмотрен специальный элемент управления Timer (таймер). Свойства элемента Timer (таймер). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Name - иям элемента. 2. Interval - хранит число миллисекунд, через которые выз- ывается процедура. Пример 2. ~~~~~~~~~ Создадим простой мультфильм. Допустим, мы хотим, чтобы по голубому небу пролетал самолет. Для реализации задуман- ного нам необходимо сделать подготовительную работу. Во- первых, надо нарисовать в редакторе MS Paint небольшой са- молетик на голубом фоне и сохранить его в каталоге C:\vb32\student.
Во-вторых, необходимо создать новое приложение и сделать цвет фона формы голубым. Теперь осталось поместить на фор- му элемент управления Timer и элемент управления Image (рисунок). Когда вы поместите на форму элемент Image необ- ходимо указать ему полный путь к графическому файлу (само- летик), который вы хотите "в нем" видеть. Кликните на сво- йстве Picture (картинка) и укажите путь C:\vb32\student. Нажмите F5. Ваше приложение должно выглядеть примерно так.
Теперь надо "заставить" самолетик лететь слева направо на- шей по форме. Собственно, полет - есть ни что иное как из- менение координат рисунка. Вернее, даже одной координаты рисунка - положение относительно левого края формы. Вспом- ним о том, какие свойства отвечают за координаты объекта в Visual Basic.
Помните командную кнопку? Так вот, у всех элементов управ- ления свойства, касающиеся расположения одинаковы. Видно, что нам достаточно наращивать значение в свойстве Left (расстояние от левого края формы до элемента). Теперь поговорим о том, как часто мы будем изменять эту координату. Выше упоминалось о элементе управления Timer (таймер), который вызывает свою процедуру через определен- ный промежуток времени. Кликнув два раза левой кнопкой мы- ши на элементе Timer (он будет называтся Timer1), мы полу- чим процедуру: Rem Процедура таймера Private Sub Timer1_Timer() Image1.Left=Image1.Left+30 End Sub Остается сделать только одно - занести в свойство Interval (интервал) элемента Timer (таймер) значение 100 (миллисек- унды). Теперь каждые сто миллисекунд программа будет увел- ичивать координату Left и рисунок будет двигаться (доволь- но быстро) вправо по форме. Таким образом, наш кораблик будет лететь... Задания к лабораторной работе №9 1. Прочитать, законспектировать работу. 2. Проверить пример. 3. Морально готовится к получению большого задания по курсу.