Вы можете использовать любой элемент управления ActiveX, который доступен на вашем компьютере. Для использования элемента управления ActiveX введите его в форму, затем установите его свойства, напишите обработчик для его событий или вызывайте его методы. Вы можете добавить в форму элемент управления ActiveX с помощью панели инструментов Form Controls или , или с помощью элемента управления OLE Container Control, или с помощью кода. Для получения более подробной информации об использовании элементов управления ActiveX в дизайнере форм смотрите описание Совместное использование информации и введение OLE.

Вы можете создать элемент управления ActiveX в коде в общем-то точно также, как вы создаете любой элемент управления Visual FoxPro. Однако, перед создание элемент управления ActiveX вы должны определить имя библиотеки класса элемент управления, которое хранится в регистре Windows. Если вы не знаете или не можете определить имя библиотеки класса элемента, то используйте дизайнер форм для создани элемент управления (как описао выше), и затем получите свойство OLEClass элемент управления ActiveX.

Объекты ActiveX могут быть созданы непосредственно командой CREATEOBJECT( ), и не требуют наличия экземпляра формы.

Для создания элемента управления ActiveX в коде программы

  1. Вызовите функцию CREATEOBJECT( ) для создания формы.

  2. Вызовите метод AddObject Method вновь созданной формы для ввода элемента управления ActiveX, укажите olecontrol в качестве класса. Вы должны послать имя библиотеки класса элемента управления ActiveX в качестве третьего параметра метода AddObject.

Например, приведенная ниже программа создает новую форму и вводит в нее элемент управления ActiveX listview:

  CopyCode imageСкопировать код
oMyForm = CREATEOBJECT("form")
oMyForm.AddObject("oleListview","olecontrol", ;
   "MSComctlLib.ListViewCtrl")

После того, как вы создали форму и элемент управления, вы можете отобразить их вызвав метод формы Show и отобразить введенный элемент управления ActiveX установкой свойства Visible в true:

  CopyCode imageСкопировать код
oMyForm.oleListview.Visible = .T.
oMyForm.Show

Некоторые элементы управления ActiveX не разрабатывались для интерактивного использования пользователем. Например, элемент управления timer не поддерживает методов для взаимодействия с пользователем. Даже в таком случае, вы в состоянии создавать элементы управления ActiveX на форме, поскольку такие элементы позволяет сделать видимыми их визуально, с помощью определенных по умолчанию, компонентов, таких как, например, иконка. Чаще всего вам не треуется ни заменять иконку, ни заменять ее размеры.

Если вы не желаете, чтобы ваше приложение отображало иконку для неинтерактивных элементов управления, вы можете скрыть элемент управления с помощью установки свойства Visible содержащего этот элемент OLE контейнера в false, или установить его свойство Left в отрицательное значение (такое, как, например –100), что переместит его за видимую часть экрана. Кроме того, вы можете поместить элемент управления в форму, которая никогда не будет видимой (то есть, для которой никогда не будет вызван метод Show). В таких случаях у вас по-прежнему остается возможность вызывать методы элемента управления, как в случае, если бы он был видимым.

Смотрите также