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

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

Добавление свойств — наиболее трудоемкий процесс. В принципе, к свойству можно относиться как к переменной, связанной с объектом. Свойства для элемента управления ActiveX создаются при помощи процедур Property Get (возврат значения свойства) и property Let (установка значения свойства). При этом для добавления свойства, доступного только для чтения, можно определить только процедуру возврата значения свойства property Get.

Существует и третья процедура создания свойств property set, которая применяется при объявлении свойств, являющихся объектами, как, например, свойство Font, которое само по себе имеет набор свойств: шрифт, размер шрифта, начертание и другие. Однако такие сложные свойства пока не являются предметом нашего изучения.

Обычно при объявлении свойств также выполняется их начальная инициализация с использованием констант и переменных. Константы и переменные для начальной инициализации при этом должны быть объявлены, например:

Const prpToolTipTextDefault = ""

Dim prpToolTipText As String

Объявление свойств выполняется при помощи процедур свойств property Let и property Get следующим образом:

Public Property Get ToolTipText () As String

ToolTipText = prpToolTipText

End Property

Public Property Let ToolTipText(ByVal New_ToolTipText As String)

prpToolTipText = New_ToolTipText

PropertyChanged "ToolTipText"

End Property

Инициализация свойств (присвоение значений по умолчанию) выполняется по событию initproperties контейнера userControl с использованием констант и переменных инициализации:

Private Sub UserControl Initproperties ()

prpToolTipText = prpToolTipTextDefault

End Sub

Для сохранения значения свойства, установленного во время разработки приложения, вы можете использовать объект типа propertyBag, который содержится по умолчанию в контейнере userControl любого создаваемого в Visual Basic 6 объекта ActiveX. Объект PropertyBag имеет два метода для записи/чтения значения свойства: writeproperty и Readproperty. Синтаксис метода writeproperty следующий:

PropertyBag.WriteProperty (свойство, значение, эначениеПоУмолчанию)

где:

PropertyBag, выглядит так:

PropertyBag.WriteProperty (свойство, переменная)

где:

Кроме этих методов в контейнере UserControl существуют два специальных события: WriteProperties И ReadProperties. с помощью этих событий и методов вы можете установить и прочитать значения свойств:

Private Sub UserControlJReadProperties(PropBag As PropertyBag)

prpToolTipText = PropBag.ReadProperty("ToolTipText", prpToolTipTextDefault)

End Sub

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

Call PropBag.WriteProperty("ToolTipText", prpToolTipText, prpToolTipTextDefault)

End Sub

Для добавления свойства с помощью диалогового окна Add Procedure (рис. 14.4) следует установить переключатель Type (Тип) в значение Property (Свойство). После этого автоматически будет добавлен шаблон кода, в который затем необходимо внести следующие операторы:

Public Property Get NewPropertyO As Variant

End Property

Public Property Let NewProperty(ByVal vNewValue As Variant)

End Property

Добавим новое свойство Newproperty для созданной нами ранее кнопки cbNewForm. Свойство будет содержать текстовое значение. Для этого необходимо выполнить следующие действия:

1. Добавьте в исходный текст код, указанный ниже. Можно воспользоваться командой Add Procedure (Добавить процедуру) меню Tools (Сервис), выбрав из переключателя Type значение Property (Свойство). В начало исходного текста добавьте описание константы:

Const prpNewPropertyDefault = "Новое свойство"

Public Property Get NewPropertyO As String

NewProperty = prpNewPropertyDefault

End Property

Public Property Let NewProperty(ByVal vNewValue As String)

NewProperty() = vNewValue

End Property

2. Для дальнейшей демонстрации использования свойства создайте файл с расширением осх с помощью команды Make cbNewForm.ocx меню File.

3. Для присвоения свойства и чтения его значения создайте новый проект типа Standard EXE. Назовите его TestProject. С помощью окна компонентов Components (Компоненты), открываемого командой Components меню Project (Проект), подключите созданный компонент к этому проекту. Форму Formi переименуйте в frmTestForm.

4. После подключения новый элемент управления появляется на панели элементов управления.

5. Добавьте этот элемент управления в форму и назовите его cbNewFormAbout.

6. Определите следующие действия для процедуры обработки события нажатия кнопки мыши:

MsgBox cbNewFormAbout.NewProperty,, "Сведения о свойстве".

7. Запустите проект на выполнение и, нажимая на кнопку, убедитесь в правильности возвращаемого значения свойства.

 

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