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

Создание класса формы

Вначале займемся созданием класса формы. Выполните следующие действия:

1. Откройте новый проект типа Standard EXE.

2. Используя диалоговое окно свойств проекта, открываемое командой Projecti Properties меню Project, назовите проект classForms.

3. С помощью окна свойств Properties (Свойства), открываемого командой Properties Window меню View или командой Properties контекстного меню, переименуйте форму в frmFormcis.

4. Добавьте в форму элемент управления типа commandButtom, дважды щелкнув мышью кнопку CommandButtom на панели элементов управления. Можно не изменять имени кнопки, заданного по умолчанию. Используя свойство Caption, задайте название кнопки Создать новый объект.

Выполненный проект показан на рис. 15.5.

Рис. 15.5. Приложение для изучения класса форм

5. В окно редактора введите следующий код:

Private Sub Commandl_Click()

Dim FormNew As New frmFormCIs

FormNew.Show

End Sub

6. Запустите приложение на выполнение. При нажатии на размещенную в форме кнопку создаются объекты класса frmFormcis, то есть, проектируя форму, вы спроектировали целый класс форм.

При многократном вызове объектов этого класса создается коллекция объектов, и каждая форма при этом является членом коллекции. Для идентификации конкретного члена используется индекс членов коллекции, при помощи которого можно сослаться на любую форму из коллекции или получить управление конкретной формой. Для форм в Visual Basic 6 существует специальная коллекция Forms, при помощи которой можно адресоваться к конкретной форме. Чтобы изучить данное свойство коллекции форм, усовершенствуйте приложение следующим образом:

1. Добавьте в приложение еще один элемент управления типа commandButton и задайте наименование созданной кнопки Переход к объекту. Имя кнопки можно оставить заданным по умолчанию (рис. 15.6).

Рис. 15.6. Приложение для изучения адресации к объектам класса форм

2. Измените код приложения в соответствии с указанным ниже:

Dim frmCount As Integer

Dim frmCountMax As Integer

Private Sub Commandl_Click()

' Создание объекта

Dim FormNew As New frmFormCIs

FormNew.Show

frmCountMax = frmCountMax + 1

End Sub

Private Sub Command2_Click()

' Переход к объекту

Forms(frmCount).Caption = "Форма-объект " + Str(frmCount)

Forms(frmCount).Show

frmCount = frmCount + 1

If frmCount > frmCountMax Then frmCount = 0

End Sub

Private Sub Form Load()

frmCount = 0

frmCountMax = 0

End Sub

В этом приложении при нажатии кнопки Переход к объекту активизируется соответствующий объект класса frmFormCIs и изменяется одно из его свойств, в данном случае свойство заголовка окна. При этом, конечно, доступны и все другие свойства объекта.

Для изучения возможности обращения к объектам формы экземпляра класса frmFormCis доработайте приложение следующим образом:

1. Добавьте в форму текстовое поле типа TextBox, дважды щелкнув мышью кнопку TextBox на панели элементов управления, и присвойте ей имя txtFormNum. Из свойства Text удалите текст, введенный по умолчанию.

2. Измените текст кода для объекта command2 на следующий:

Private Sub Coiroiand2_Click ()

' Переход к объекту

Forms(frmCount).Caption = "Форма-объект " + Str(frmCount)

Forms(frmCount).Show

' Адресация к объекту формы

Forms(frmCount).txtFormNum.Text = frmCount

frmCount = frmCount + 1

If frmCount > frmCountMax Then frmCount = 0

End Sub

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

 

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