.. Автор: Рыбальченко Степан aka Steban

.. include:: commonchm.txt

***************************************
_`АктивИкс`
***************************************
..      <chminfo>
                <insert nodes="//common/maininfo/*"/>
                <alinks>
					_1cpp_ativex_ctrl_
					_1cpp_formex_cc_target_
				</alinks>
        </chminfo>

.. contents:: Содержание
        :backlinks: none

=====================================================================
**Класс "АктивИкс" / "ActiveX".**
=====================================================================
..      <chminfo split="0" splitchild="0">
                <insert nodes="//common/propsmethods/*"/>
        </chminfo>

Класс позволяет размещать на формах 1С:Предприятие элементы управления (далее ЭУ) ActiveX
и обрабатывать события, возникающие в ЭУ.
При возникновении события вызывается процедура модуля формы с именем::

  <ИдентификаторЭлементаДиалога>_<Событие>

где ИдентификаторЭлементаДиалога - идентификатор элемента диалога, на месте которого создан ЭУ,
и Событие - наименование события ЭУ (например OnClick).

Класс может служить базовым классом для классов, определяемых пользователем.
В этом случае, если в модуле реализации КОП-наследника определены процедуры или функции с именами,
соответствующими событиям, то при возникновении соответствующих событий они будут вызваны.
Если определены обработчики в модуле формы и в модуле реализации КОП, то сначала будут вызваны
обработчики из модуля реализации КОП.
Для обработки событий в модуле реализации КОП экземпляр класса должен быть создан следующим образом::

        АтрФормы = СоздатьОбъект("АтрибутФормы"); 
        АтрФормы.УстановитьАтрибут(Форма,"ФДерево");
        Дерево=СоздатьОбъект("Дерево");//класс-наследник АктивИкс
        АтрФормы.СоздатьЭлементУправления(Дерево); // СоздатьЭУ
        Дерево.СоздатьЭУ("MSComctlLib.TreeCtrl");

=====================================================================
Свойства
=====================================================================
..      <chminfo split="0" splitchild="1">
                <insert nodes="//common/propsmethods/*"/>
        </chminfo>

_`Объект` / Object
------------------------------------------------
        **Доступ:** только чтение.
        
        **Тип:** OLE объект.
        
        **Описание:** Обеспечивает доступ к свойствам и методам созданного элемента управления.

ОбработкаСобытий / EventProcessing
------------------------------------------------
        **Доступ:** чтение и запись.
        
        **Тип:** Число.
        
        **Описание:** Управляет вызовом процедур - обработчиков событий.

Если 0, то при возникновении событий в элементе управления
процедуры-обработчики не вызываются. При любых других значениях обработка событий производится.

=====================================================================
Методы
=====================================================================
..      <chminfo split="0" splitchild="1">
                <insert nodes="//common/propsmethods/*"/>
        </chminfo>

_`УстановитьАтрибут` / AssignAttrib
------------------------------------------------
        **Синтаксис:** УстановитьАтрибут(Форма, ИдентификаторЭлементаДиалога)

        **Параметры:**
                - **Форма** - тип: Форма. Форма, на которой будет создан элемент ActiveX
                - **ИдентификаторЭлементаДиалога** - тип: Строка. Идентификатор элемента
                  диалога, на месте которого будет создан элемент ActiveX.

        **Описание:** Указывает размещение создаваемого элемента,
        а также устанавливает префикс для имен процедур-обработчиков событий, расположенных
        в модуле формы.

имена процедур-обработчиков событий, расположенных в модуле
`КОП-наследника <classes.chm::/classes0.html>`_ АктивИкс совпадают с именами событий.

.. important::
   Метод работает после физического открытия окна формы (например - в предопределенной процедуре
   ПослеОткрытия). Метод работает только для реквизитов диалога типа "Текст".

СоздатьЭУ / CreateControl
------------------------------------------------
        **Синтаксис:**

        **Параметры:**
                - **ProgID** - тип: Строка. ProgID элемента управления как указано в реестре.

        **Возвращает:** OLE объект созданного элемента управления.

        **Описание:** Создает в месте, указанном при вызове процедуры `УстановитьАтрибут`_
        элемент управления ActiveX с указанным ProgID.

.. important::
   Метод работает после указания расположения ЭУ вызовом `УстановитьАтрибут`_ класса `АктивИкс`_
   или вызовом СоздатьЭУ(СоздатьТабличноеПоле) класса АтрибутФормы.

OLE-объект возвращаемый при выполнении метода может быть сохранен в переменной.
В дальнейшем доступ к этому объекту может осуществляться через свойство `Объект`_.

УстановитьФокус / SetFocus
------------------------------------------------
        **Синтаксис:** УстановитьФокус()

        **Описание:** Устанавливает фокус ввода.

Уничтожить / Destroy
------------------------------------------------
        **Синтаксис:** Уничтожить()

        **Описание:** уничтожает элемент управления.

