Вы можете создавать Объекты COM, используемые в других Пиложениях; для этого используется Механизм ActiveX Template Library, который поддерживается системой Microsoft® Visual C++.

Вы можете создать Контролы Microsoft ActiveX, специфичные для системы Visual FoxPro, которые  являются совместимыми с обычными системными Контролами. При использовании Компилятора C++ создаются общие Структуры Контролов ActiveX, как и при использовании системы Microsoft Visual Basic Control Creation Edition.

В последующих пунктах рассматриваются Вопросы и детальные Шаги по созданию Контролов ActiveX при помощи системы Microsoft Visual C++ 6.0, которые могут быть использованы в Visual FoxPro.

Для создания Проекта будущего Контрола (объекта) ActiveX

  1. Запустите Систему Microsoft Visual C++.

  2. Из системного меню File, выберите пункт New.

  3. В активированном диалоговом боксе New, выберите подраздел Project Workspace.

  4. В открывшемся диалоговом боксе New Project Workspace, задайте имя Нового Проекта.

  5. В Списке Type, выберите пункт OLE ControlWizard.

  6. Далее: кнопка Create, и следуйте инструкциям, предлагаемым данным Мастером.

После завершения работы рассматриваемого Мастера, вы можете сразу использовать созданный объект ActiveX. Однако, вам нужно также определить необходимые Свойства и Методы данного Контрола.

Для добавления Свойств и МетодовTo в Контрол ActiveX

  1. Из системного меню View, выберите пункт ClassWizard.

  2. Активируйте закладку OLEAutomation.

  3. Выберите кнопку Add Method или Add Property (добавить, определить Свойство или Метод).

  4. Определите Имя Элемента (свойства/метода), параметры и другую необходимую информацию, в конце нажмите кнопку OK.

  5. Нажмите кнопку Edit Code - для активации окна Редактора, в котором введите требуемых программный Код для создаваемого Элемента.

Например, для создания свойства Version, которое определяет версию создаваемого файла Контрола (.ocx), которая является целым числом (к примеру = 101), вам требуется определить указанное Свойство: определить его Тип long, и ввести следующий Код:

  CopyCode imageКопировать Код
#define VERSION 101

long CPyCtrl::GetVersion()
{
// set the version number here
return VERSION;
}

В силу того, что, обычно номер Версии является Свойством с характеристикой "только-чтение", вам не потребуется создавать Метод-функцию SetVersion( ).

См. также