Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по VBasic.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
1.16 Mб
Скачать

События-процедуры

Любой объект можно связать с набором процедур, исполняемых в строго определенные моменты. У каждого объекта свой набор процедур, хотя многие повторяются. Для программирования процедур надо вызвать окно программного кода, в списке объектов вызвать нужный объект, в списке процедур – нужную процедуру. В первых проектах будем использовать следующие процедуры-события:

  • Click, DblClick – щелчок и двойной щелчок по объекту служат сигналом, по которому будут выполняться операторы, написанные в процедуре. Эти события существуют практически у всех объектов. Начать программирование этих событий можно, два раза щелкнув по объекту.

  • Load, Activate, UnLoad - загрузка, активация и закрытие формы, существует только у экранной формы.

  • MouseMuve – наведение на объект мышкой, существует практически у всех объектов.

  • Change - изменение содержимого, значения объекта, существует у текстовых окон и меток.

  • LostFocus(уход из фокуса) – возникает при уходе курсора за пределы текстового окна, для проверки текста лучше применять это событие, а не Change.

  • SetFocus – устанавливает курсор в это текстовое окно. Применяют, когда много окон, чтобы привлечь внимание, начать ввод с этого текстового окна. Например: txtИмя.SetFocus - курсор встанет в текстовое окошко Имя

Задание 3: Два текстовых окна для ввода отдельно имени и фамилии. По запуску программы курсор мигает в одном окне (в процедуре Form_Activate вызвать событие SetFocus). Вводим туда фамилию, потом в другое окно вводим имя. Две метки для маркировки окон. Остальные метки для приветствия, информация вводится туда из текстовых окон. Из одного окна по событию LostFocus, из другого по событию Change.

Отдельно выделим объект Screen(Экран), обладающий свойствами Width и Height. Координаты формы на экране: точка (0,0) – левый верхний угол , х – увеличивается слева направо, y – сверху вниз. Свойства экрана можно использовать для перемещения формы по экрану.

Задание 4. 4 командные кнопки. Расположите их по углам формы и назовите(свойство Name) UpLeft, DownLeft, UpRight, DownRight, используя префиксы. Саму форму назовите frm1. В VB можно применять и русские названия объектов. В центре формы установите еще одну кнопку и назовите ее cmdЦвет.

А) Когда проект запускается на выполнение, форма появляется на экране, при этом происходит событие Activate, необходимые действия можно запрограммировать в процедуре Form_Activate. Для того чтобы изменить свойство Caption, в процедуре надо написать такой текст.

cmdUpLeft.Caption = «Влево-Вверх»

Можно воспользоваться списком свойств объекта, появляющимся после написания точки в конце имени объекта. Аналогично запрограммируйте свойства Caption других кнопок.

В) Для перемещения формы на экране по нажатию соответствующих кнопок(события Click) используйте свойства формы Top и Left и свойства экрана. Для того, чтобы нижний край формы совпадал с нижним левым краем экрана, необходимо написать следующие коды.

frm1.Top = Screen.Height – frm1.Height

frm1.Left = 0

Запрограммируйте все процедуры-события по нажатию кнопок, проверьте работу проекта.

С) Для того, чтобы запрограммировать кнопку Цвет, надо воспользоваться функцией QBColor(), значение аргумента может меняться в пределах 0-15. Можно изменить свойство BackColor и формы и кнопок. Обратите внимание, что для возможного изменения цвета кнопки свойство Style в окне свойств должно иметь значение 1-Graphical, обычно по умолчанию оно стоит в положении 0-Standart. Проект должен работать так. Нажимаем на одну из угловых кнопок- кнопка меняет цвет, форма передвигается, нажимаем на другую кнопку: первая кнопка становится серой, вторая – красной и происходит другое перемещение. Каждое нажатие на центральную кнопку должно менять цвет формы. Переменную, которая хранит номер цвета, необходимо описать как глобальную, т.е. до всех процедур. (В пункте General в списке объектов Dim cwet).

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

Дополнительно *. При увеличении размеров формы кнопки уже не стоят каждая в своем углу. Исправьте этот недостаток – кнопки независимо от размеров формы должны стоять каждая в своем углу.

УРОК №3

Цель урока. Научить студентов компилировать программы, работать с окнами в среде, познакомить с методами и научить применять методы в программах.