Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование для начинающих. (Visual Basic-6.0) События Формы


Информационный Канал Subscribe.Ru

ФОРУМ

САЙТ

АРХИВ

АВТОР

Здравствуй уважаемый подписчик!Сегодня в номере:
События формы
Порябок возникновения событий
Немного практики
Пару слов вдогонку к последнему выпуску:
Одной строкой можно описать несколько переменных, разделяя имена переменных запятыми. Например, так:
Dim A as Integer, B as String, C as Long
Если опустить описание ТИПА переменной, тогда по умолчанию ей (переменной) будет присвоен тип VARIANT

События формы

СобытиеНазначение
ActivateПроисходит каждый раз при активации окна программы. (При переходе из неактивного состояния в активное.)
ClickВозникает каждый раз, когда пользователь "щёлкает" (кликает) "грызуном" в окне программы
DblClickДвойной "щелчок" мышкой в окне программы
DeactivateПроисходит каждый раз при деактивации окна программы. (При переходе из активного состояния в неактивное.)
InitializeПроисходит только один раз при инициализации окна программы.
KeyDownВозникает каждый раз, когда окно программы активно и пользователь нажал (но еще не отпустил) кнопку клавиатуры. Требует две переменных:
KeyCode-Целого типа, содержит код нажатой клавиши и
Shift - целого типа, позволяет определить какая дополнительная кнопка клавиатуры нажата. (ALT,SHIFT,CTRL)
KeyPressВозникает каждый раз, когда окно программы активно и пользователь нажимает кнопки клавиатуры. Требует одну переменную:
KeyAscii-Целого типа, содержит код нажатой клавиши согласно таблице ASC II.
KeyUpПроисходит в тот момент , когда окно программы активно и пользователь отпустил кнопку клавиатуры. Требует две переменных:
KeyCode -Целого типа, содержит код нажатой клавиши и
Shift - целого типа, позволяет определить какая дополнительная кнопка клавиатуры нажата. (ALT,SHIFT,CTRL)
LoadВозникает в момент загрузки окна программы в память ЭВМ.
MouseDownПроисходит в тот момент, когда пользователь нажал (но еще не отпустил) кнопку "мыши", в окне программы. Процедура обработки события дополнительно описывает четыре переменные:
Button- целого типа, содержит код нажатой кнопки "мыши".
Shift - целого типа, позволяет определить какая дополнительная кнопка клавиатуры нажата (ALT,SHIFT,CTRL).
X,Y - числа с плавающей запятой, одинарной точности. Соответственно это X и Y координаты точки нажатия кнопки "Мыши", относительно ЛЕВОГО ВЕРХНЕГО угла окна программы.
MouseMoveВозникает в момент перемещения указателя "мыши", в пределах окна программы (формы). Процедура обработки события дополнительно описывает четыре переменные:
Button- целого типа, содержит код нажатой кнопки "мыши".
Shift -целого типа, позволяет определить какая дополнительная кнопка клавиатуры нажата(ALT,SHIFT,CTRL).
X,Y - числа с плавающей запятой, одинарной точности. Соответственно это X и Y координаты точки, где оказался указатель "Мыши", относительно ЛЕВОГО ВЕРХНЕГО угла окна программы.
MouseUpПроисходит в тот момент, когда пользователь отпустил кнопку "мыши", в окне программы. Процедура обработки события дополнительно описывает четыре переменные:
Button- целого типа, содержит код нажатой кнопки "мыши".
Shift - целого типа, позволяет определить какая дополнительная кнопка клавиатуры нажата (ALT,SHIFT,CTRL).
X,Y - числа с плавающей запятой, одинарной точности. Соответственно это X и Y координаты точки, где пользователь отпустил кнопку "Мыши", относительно ЛЕВОГО ВЕРХНЕГО угла окна программы.
ResizeПроисходит в момент изменения размеров окна программы.
UnloadПроисходит в момент закрытия окна программы.

Порядок возникновения событий
Для начала давайте разберемся, что такое событие? Событие - ответная реакция Вашей ЭВМ, на некоторые действия пользователя. (или другой источник её раздражения :) , с этим сегодня мы частично разберемся) Если событие ответная реакция ЭВМ на действие пользователя, тогда пользователь НЕ может отпустить кнопку "мыши", для этого он должен ее нажать.(и только затем он сможет ее отпустить) Значит прежде чем произойдет событие MouseUp, должно произойти событие MouseDown. Если за событием MouseDown "моментально" следует событие MouseUp - Происходит событие MouseClick . При этом первые два события игнорируются. Соответственно событию Unload должно предшествовать событие Load и.т.д….
А как Вы думаете, какое событие происходит первым??? LOAD, ACTIVATE, INITIALIZE, или RESIZE (все эти события происходят примерно в одно и тоже время.). Что бы ответить на этот вопрос необходимо написать маленькую программку:
Шаг 1: Запустите Microsoft Visual Basic - 6.0 (Выбираем Standart.EXE)
Шаг 2: На форме или в окне вашей будущей программы. (Не знаете где находится окно вашей программы? Загляните сюда.) выполним двойной "клик". При этом откроется окно редактора программного кода, в основном состоящее из поля, куда необходимо ввести некоторые команды. Вверху расположены два раскрывающихся списка (правый и левый). Левый список содержит все элементы управления, которые находятся в окне вашей программы. Правый - список всех доступных событий для того объекта (элемента управления), чье имя указанно в левом списке. Люди - ПОМНИТЕ событие ВСЕГДА и НЕРАЗРЫВНО связанно с объектом. Проверьте, в левом списке у Вас должно находится FORM, в правом LOAD. В редакторе программного кода должны появиться следующие строки:
Private Sub Form_Load ()

End Sub

Эти две строчки вписывает система объектно-ориентированного программирования.
Private - Частный
Sub - под (процедура)
Form_Load - Имя процедуры, используется для поиска и последующего вызова процедуры.
() пустые скобки говорят о том, что процедура не требует дополнительных параметров вызова.

End Sub - окончание процедуры.

Все что стоит между Private Sub Form_Load() и End Sub - называется телом процедуры, и именно здесь мы будем писать некий программный код. Сегодня он будет очень простым.
Добавьте строчку:
Form1.print "Это событие LOAD"

Form1 - Наш объект форма (окно программы)
PRINT - метод обращения к объекту.
Методы - процедуры и функции встроенные в объект, благодаря которым удается избегать написания длинного программного кода.
Указанный метод Print выводит Нашу строку в окно программы.

И так у Вас должно получиться

Private Sub Form_Load ()
Form1.print "Это событие LOAD"
End Sub

Теперь в правом списке необходимо выбрать: ACTIVATE
Дополним нашу программу:

Private Sub Form_ ACTIVATE ()
Form1.print "Это событие ACTIVATE"
End Sub

Аналогичным образом введем еще два события: INITIALIZE, RESIZE
Полный программный код должен выглядеть так:

Private Sub Form_Load ()
Form1.print "Это событие LOAD"
End Sub

Private Sub Form_ ACTIVATE ()
Form1.print "Это событие ACTIVATE"
End Sub

Private Sub Form_ INITIALIZE ()
Form1.print "Это событие INITIALIZE "
End Sub

Private Sub Form_ RESIZE ()
Form1.print "Это событие RESIZE"
End Sub

Запустите программу (Это можно сделать, нажав клавишу F5), убедитесь, что надписи появляются..и теперь Вы знаете какое событие возникает первым, а какое последним

Ну, вот на сегодня всё. До скорой встречи!


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное