назад | содержание | вперед

Добавление событий в класс

Для добавления в класс события также необходимо воспользоваться диалоговым окном Add Procedure (рис. 15.3). При этом переключатель Type (Тип) нужно установить в положение Event (Событие), а переключатель Score (Область видимости) в положение Public.

Рассмотрим такой пример. Добавим в класс cisDepartment событие initciass, при возникновении которого все свойства класса будут устанавливаться в требуемое состояние. Для этого с помощью диалогового окна Add Procedure добавьте в модуль класса определение события и введите следующий код:

' Новое событие

Public Event InitClass ()

' Процедура инициализации класса

Public Sub SetInitClass ()

RaiseEvent InitClass

End Sub

Для инициализации события в Visual Basic 6 есть специальный оператор RaiseEvent, который в данном случае работает в процедуре инициализации класса.

Для работы с этим событием необходимо немного доработать приложение Myciass. Выполните следующие действия:

1. Добавьте в форму еще одну кнопку типа commandButton и, используя свойство caption, разместите на ней надпись Установить свойства. Вид формы показан на рис. 15.4.

Рис. 15.4. форма для проверки события InitClass

2. Модифицируйте код приложения, чтобы он принял следующий вид:

Dim WithEvents objDep As cisDepartment

Private Sub Commandl Click()

sSayAboutObj = "Код подразделения: " + Str(objDep.nDepCode) + Chr(10)

sSayAboutObj = sSayAboutObj + "Наименование подразделения: " + objDep.sDepName + Chr(10)

sSayAboutObj = sSayAboutObj + "Руководитель: " + objDep.sDepManager + Chr(10)

' Добавленное свойство

sSayAboutObj = sSayAboutObj + "Размещается: " + objDep.InAddress

'Вывод в окно сообщения

MsgBox sSayAboutObj,, "Сведения об объекте"

MsgBox objDep.SayAboutDep (),, "Сведения об объекте"

End Sub

Private Sub Conimand2_Click ()

obj Dep.SetInitClass

End Sub

Private Sub Form Load()

Set objDep = New с Is Department

End Sub

Private Sub objDep_InitClass ()

obj Dep. nDepCode =12

objDep.nDepParentCode = 1

objDep.sDepName = "Общий отдел"

objDep.sDepManager ~= "Петров Иван Иванович"

objDep.nSalary = 1200

objDep.nAddSalary = 12

objDep.InAddress = "к.103"

End Sub

Для того чтобы события объекта были доступны в форме, необходимо объявлять его с использованием ключевого слова withEvents. Как только это слово включено в объявление объекта, он появляется в левом списке окна редактора кода, а соответствующие ему события будут доступны в правом списке. При этом несколько изменяется и само объявление объекта, то есть для этого служит оператор set.

Если теперь при загрузке формы приложения нажать кнопку Сведения об объекте, то никаких данных не будет показано. Данные появятся только после выполнения инициализации объекта, то есть после нажатия на кнопку Установить свойства.

.

назад | содержание | вперед