Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Оснащения врачебно-сестринской бригады.
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2022-10-29 | 26 |
5.00
из
|
Заказать работу |
|
|
14.1. ActiveX ‑ элементы
ActiveX-элементы (внешние управляющие элементы, которые находятся в OCX-файлах, представляют собой готовые модули, реализующие некоторые типичные задачи, элементы интерфейса пользователя, включаемые в состав приложения или в HTML‑документ (п.15.2.12). ActiveX-элементы можно создавать в различных системах программирования и использовать в Visual Basic, так как структура и правила их использования унифицированы.
Покажем создание ActiveX-элемента на примере. Создадим новый управляющий элемент под названием ctlActX и разместим его на панели элементов, а для отладки его создадим программу (рис. 14.1.1).
Запустите Visual Basic, выберите команду File/New Project, выделите значок ActiveX Control и нажмите Open, откроется окно User Control, командой File/Save UserControl As сохраните элемент под именем ActX.CTL, командой File/Save Project сохраните проект под именем ActX.VBP.
Для построения элемента можно использовать мастер VB Active Control Interface Wizard, который включается в меню Add-Ins командой Add-Ins/Add-In Manager и вызывается далее командой Add-Ins/Active Control Interface Wizard.
В нашем примере мы не будем использовать этот мастер. Для присвоения имени новому элементу выполним команду Project/Pro ject1 Properties, выберем страницу General и в поле имени проекта Project Name укажем ActX, а в поле описания проекта Project Description ‑ текст “Cобственный ActiveX Control” (это имя будет указано в списке выбираемых компонентов, который выводится командой Project/Components). Зададим значения свойств окна UserControl: Name=ctlActX (имя элемента, которое появится в сплывающей подсказке на панели элементов и которое будет присваиваться по умолчанию при размещении элемента на форме приложения), BackColor=(красный цвет), разместим две кнопки и текстовое поле (рис. 14.1.1.]. Составим текст процедур для кнопок:
|
Private Sub Command1_Click() ‘обработка кнопки “Привет ”
Text1.Text = ”Здравствуйте!” ‘формирование значения поля Text1
End Sub
Private Sub Command2_Click() ‘обработка кнопки “Очистить ”
Text1.Text = ”” ‘формирование пустого значения поля Text1
End Sub
После размещения нового элемента на форме пользователь должен иметь возможность изменять размеры этого элемента. Размеры кнопок и текстового поля этого элемента должны автоматически пропорционально изменяться. Для этого воспользуемся событием Resize объекта UserControl, которое наступает при изменении размера этого объекта, и составим процедуру:
Private Sub UserControl_Resize() ‘процедура изменения размеров
Text1.Top=0 ‘вертикальная координата левого верхнего угла поля Text1 Text1.Left= 0 ‘горизонтальная координата левого верхнего угла поля Text1
Text1.Width = ScaleWidth ’ширина поля Text1 равна ширине элемента
Text1.Height = ScaleHeight / 4 ‘высота поля Text1=1/4 высоты элемента
Command1.Top = Text1.Height ‘вертикальная координата кнопки
Command1.Left = 0 ‘горизонтальная координата кнопки
Command1.Width = ScaleWidth ‘ширина кнопки равна ширине элемента
Command1.Height = Text1.Height ‘высота кнопки равна высоте поля Text1
Command2.Top = Text1.Height + Command1.Height ‘вертикальная координата
Command2.Left = 0 ‘горизонтальная координата кнопки
Command2.Width = ScaleWidth ‘ширина кнопки равна ширине элемента
Command2.Height = Text1.Height ‘высота кнопки равна высоте поля Text1
End Sub
Выполним команду File/Make ActX.ocx и сформируется файл ActX.OCX в нужном каталоге.
Для отладки этого нового элемента выполним команду File/Add Project/New/Standard Exe/Open и создадим новый проект TestActx. Нажав ^T, выберем новый элемент под именем “Cобственный ActiveX Control” из списка компонентов, и он окажется на панели элементов. Разместим новый элемент и кнопку Выход на форме нового проекта (рис. 14.1.1). Процедура обработки кнопки Выход имеет вид:
|
Private Sub Command1_Click() ‘процедура выхода из программы
End ‘закончить выполнение программы
End Sub
Выполним команду Save Project Group As для объединения двух проектов в группу и укажем имя группы Group1. Это позволит открывать одну группу из двух проектов одной командой Open Project и далее работать одновременно с несколькими проектами. Если в форме для тестирования поле нового элемента окажется заштрихованным (рис. 14.1.1), то закройте окно нового элемента в проекте его создания (ActX). Выполните программу тестирования.
Добавим собственное свойство Caption в новый ActveX элемент. Перейдем в программное окно элемента ActX, выберем команду Tools/Add Procedure, в поле Name введем имя создаваемого свойства Caption, установим тип процедуры Property, область видимости ‑ Public и составим процедуры чтения свойства и присвоения нового значения свойству:
Public Property Get Caption() As String ‘процедура чтения свойства
Caption = Text1.Text ‘значение поля Text1
End Property
Public Property Let Caption(ByVal vNewValue As String) ‘присв. значения
Text1.Text = vNewValue ‘параметр содержит новое значение свойства
PropertyChanged ”Caption” ‘признак изменения значения свойства Caption
End Property
Разместим на форме тестирования надпись со свойствами Name=lblCaptionProperty, Caption=””, BorderStyle=1 и две кнопки cmdRead (“Прочитать Caption”), cmdWrite (“Записать Caption”) с процедурами:
Private Sub cmdRead_Click() ‘чтение свойства
lblCaptionProperty = ctlActX1.Caption ‘вывод значения нового свойства
End Sub
Private Sub cmdWrite_Click() ‘формирование значения свойства Caption
ctlActX1.Caption = Date ‘значение свойства=текущей дате
lblCaptionProperty.Caption = Date ‘вывод значения нового свойства
End Sub
Добавим значение по умолчанию для элемента Caption. Для этого в программном окне UserControl разместим три процедуры:
Private Sub UserControl_InitProperties() ‘выполняется после размещения
Caption=Extender.Name ’свойство=значению свойства Name элемента
End Sub
Процедура сохранения значения свойства Caption:
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
‘метод записи свойства “Caption”-имя, Caption-значение, Name-умолчание
PropBag.WriteProperty ”Caption”, Caption, Extender.Name
End Sub
Процедура чтения запомненного значения свойства Caption:
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
Caption = PropBag.ReadProperty(”Caption”, Extender.Name)
End Sub
Добавим новое событие для созданного элемента. В разделе глобальных объявлений (General)(Declarations) окна UserControl объявим переменную ClickRed: Public Event ClickRed. Для этого элемента составим процедуру объявления события при отпускании кнопки мышки:
|
Private Sub UserControl_MouseUp(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
RaiseEvent ClickRed ‘объявление события
End Sub
Объявленное событие появится в списке событий для этого элемента. Введем в программном окне формы для тестирования процедуру обработки события ClickRed элемента ctlActX1:
Private Sub ctlActX1_ClickRed() ‘заголовок процедуры
MsgBox (”Событие случилось”) ‘вывод сообщения
End Sub
Проверьте работу программ.
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!