]> АктивИкс

АктивИкс

1C++ :: </a> </em> </td> <td style="text-align: right;"> <!-- Во второй ячейке пропишем ссылки на следующий/предыдущий топики и оставим возможность в каждом топике добавить свои линки, разместив их в otherlinks. По умолчанию otherlinks отсутствует. --> <subst nodes="chminfo/otherlinks/node()"/> | Ранее: <a href="prev" title="Перейти к предыдущей статье"><title to="prev"/></a> | Далее: <a href="next" title="Перейти к следующей статье"><title to="next"/></a> </td> </tr> <tr> <!-- Вторая строка таблицы будет заголовок топика. Чтобы каждый топик мог при необходимости изменить правило составления заголовка, сделаем здесь subst, а само правило пропишем ниже. Будем брать его из <topictitle> --> <td colspan="2" style="font-size:11pt;font-weight:bold"> <subst nodes="chminfo/topictitle/node()"/> </td> </tr> </table> <!-- А сюда собственно, вставим топик --> <topic/> </decoration> <!-- Основной стиль формирования ссылок на вынесенные топики --> <href> <a href="self"><title to="self"/></a> </href> <!-- Основной принцип объединения ссылок на вынесенные топики --> <hrefcombine> <ul> <foreach> <li><item/></li> </foreach> </ul> </hrefcombine> <!-- Содержимое данного тега подставляется в основной decoration через subst в каждом топике, для формирования заголовка топика. Его можно переопредеделить в топике, для задания другого правила составления заголовка. По умолчанию просто вставляется текст заголовка топика, а сам заголовок удаляется --> <topictitle> <title to="selfremove"/> </topictitle> </maininfo> <!-- Основная разметка для секций "Свойства", "Методы", "События" Задаем другие правила формирования ссылок на вынесенные топики, и объединения ссылок, а также формирования заголовка в дочерних секциях. --> <propsmethods> <!-- Ссылки на вынесенные топики объединим в таблицу --> <hrefcombine> <table border="1" cellspacing="0" cellpadding="3"> <foreach> <tr><item/></tr> </foreach> </table> </hrefcombine> <!-- Зададим разметку потомков, чтобы не писать ее в каждом топике --> <childs> <!-- Формирование ссылки на себя в родительском топике. Сформируем строку таблицы, где первая ячейка - ссылка на топик, а вторая - копия абзаца, в котором есть жирное слово "Описание", но без самого слова "Описание" --> <href> <td style="vertical-align:top"><a class="toc-backref" href="self"><title to="self"/></a></td> <td><subst nodes=".//p[strong='Описание:'][1]/node()[not(name()='strong' and .='Описание:')]"/></td> </href> <!-- Зададим другое правило составления заголовка. Пусть будет "Ссылка на описание объекта::ИмяМетода/Свойства" --> <topictitle> <a class="toc-backref" href="parent[1]" title="Перейти к описанию объекта"><title to="parent[1]"/></a> :: <title to="selfremove"/> </topictitle> <!-- Зададим другой способ задания <html><title> в формируемом файле. Он будет появлятся как имя топика во всех "founded topics" --> <chmtitle> <title to="parent[1]"/>::<title to="self"/> </chmtitle> <!-- Заставим дочерние секции добавлять слова из заголовка в индекс --> <autokw mode="2"/> <!-- На случай, если в описания метода есть еще подсекции, восстановим для них старые правила. --> <insert nodes="//common/maininfo/*[name()='hrefcombine']"/> <childs> <insert nodes="//common/maininfo/*[name()='href']"/> <insert nodes="//common/maininfo/*[name()='topictitle']"/> <chmtitle/> <autokw/> </childs> </childs> </propsmethods> </common></xml><chminfo> <insert nodes="//common/maininfo/*"/> <alinks> _1cpp_ativex_ctrl_ _1cpp_formex_cc_target_ </alinks> </chminfo> <div class="contents topic" id="id3"> <p class="topic-title first"><a name="id3">Содержание</a></p> <ul class="simple"> <li><a class="reference" href="#activex" id="id9" name="id9"><strong>Класс "АктивИкс" / "ActiveX".</strong></a></li> <li><a class="reference" href="#id4" id="id10" name="id10">Свойства</a><ul> <li><a class="reference" href="#object" id="id11" name="id11">Объект / Object</a></li> <li><a class="reference" href="#eventprocessing" id="id12" name="id12">ОбработкаСобытий / EventProcessing</a></li> </ul> </li> <li><a class="reference" href="#id6" id="id13" name="id13">Методы</a><ul> <li><a class="reference" href="#assignattrib" id="id14" name="id14">УстановитьАтрибут / AssignAttrib</a></li> <li><a class="reference" href="#createcontrol" id="id15" name="id15">СоздатьЭУ / CreateControl</a></li> <li><a class="reference" href="#setfocus" id="id16" name="id16">УстановитьФокус / SetFocus</a></li> <li><a class="reference" href="#destroy" id="id17" name="id17">Уничтожить / Destroy</a></li> </ul> </li> </ul> </div> <div class="section" id="activex"> <h1><a name="activex"><strong>Класс "АктивИкс" / "ActiveX".</strong></a></h1> <chminfo split="0" splitchild="0"> <insert nodes="//common/propsmethods/*"/> </chminfo> <p>Класс позволяет размещать на формах 1С:Предприятие элементы управления (далее ЭУ) ActiveX и обрабатывать события, возникающие в ЭУ. При возникновении события вызывается процедура модуля формы с именем:</p> <pre class="literal-block"> <ИдентификаторЭлементаДиалога>_<Событие> </pre> <p>где ИдентификаторЭлементаДиалога - идентификатор элемента диалога, на месте которого создан ЭУ, и Событие - наименование события ЭУ (например OnClick).</p> <p>Класс может служить базовым классом для классов, определяемых пользователем. В этом случае если в модуле реализации КОП-наследника определены процедуры или функции с именами, соответствующими событиям, то при возникновении соответствующих событий они будут вызваны. Если определы обработчики в модуле формы и в модуле реализации КОП, то сначала будут вызваны обработчики из модуля реализации КОП. Для обработки событий в модуле реализации КОП экземпляр класса должен быть создан следующим образом:</p> <pre class="literal-block"> АтрФормы = СоздатьОбъект("АтрибутФормы"); АтрФормы.УстановитьАтрибут(Форма,"ФДерево"); Дерево=СоздатьОбъект("Дерево");//класс-наследник АктивИкс АтрФормы.СоздатьЭлементУправления(Дерево); // СоздатьЭУ Дерево.СоздатьЭУ("MSComctlLib.TreeCtrl"); </pre> </div> <div class="section" id="id4"> <h1><a name="id4">Свойства</a></h1> <chminfo split="0" splitchild="1"> <insert nodes="//common/propsmethods/*"/> </chminfo> <div class="section" id="object"> <h2><a name="object"><span class="target" id="id5">Объект</span> / Object</a></h2> <blockquote> <p><strong>Доступ:</strong> только чтение.</p> <p><strong>Тип:</strong> OLE объект.</p> <p><strong>Описание:</strong> Обеспечивает доступ к свойствам и методам созданного элемента управления.</p> </blockquote> </div> <div class="section" id="eventprocessing"> <h2><a name="eventprocessing">ОбработкаСобытий / EventProcessing</a></h2> <blockquote> <p><strong>Доступ:</strong> чтение и запись.</p> <p><strong>Тип:</strong> Число.</p> <p><strong>Описание:</strong> Управляет вызовом процедур - обработчиков событий.</p> </blockquote> <p>Если 0, то при возникновении событий в элементе управления процедуры-обработчики не вызаваются. При любых других значениях обработка событий производится.</p> </div> </div> <div class="section" id="id6"> <h1><a name="id6">Методы</a></h1> <chminfo split="0" splitchild="1"> <insert nodes="//common/propsmethods/*"/> </chminfo> <div class="section" id="assignattrib"> <h2><a name="assignattrib"><span class="target" id="id7">УстановитьАтрибут</span> / AssignAttrib</a></h2> <blockquote> <p><strong>Синтаксис:</strong> УстановитьАтрибут(Форма, ИдентификаторЭлементаДиалога)</p> <dl class="docutils"> <dt><strong>Параметры:</strong></dt> <dd><ul class="first last simple"> <li><strong>Форма</strong> - тип: Форма. Форма на которой будет создан элемент ActiveX</li> <li><strong>ИдентификаторЭлементаДиалога</strong> - тип: Строка. Идентификатор элемента диалога, на месте которого будет создан элемент ActiveX.</li> </ul> </dd> </dl> <p><strong>Описание:</strong> Указывает размещение создаваемого элемента а также устанавливает префикс для имен процедур-обработчиков событий, расположенных в модуле формы.</p> </blockquote> <p>имена процедур-обработчиков событий, расположенных в модуле <a class="reference" href="classes.chm::/classes0.html">КОП-наследника</a> АктивИкс совпадают с именами событий.</p> <div class="important"> <p class="first admonition-title">Важно</p> <p class="last">Метод работает после физического открытия окна формы (например в предопределенной процедуре ПослеОткрытия). Метод работает только для реквизитов диалога типа "Текст".</p> </div> </div> <div class="section" id="createcontrol"> <h2><a name="createcontrol">СоздатьЭУ / CreateControl</a></h2> <blockquote> <p><strong>Синтаксис:</strong></p> <dl class="docutils"> <dt><strong>Параметры:</strong></dt> <dd><ul class="first last simple"> <li><strong>ProgID</strong> - тип: Строка. ProgID элемента управления как указано в реестре.</li> </ul> </dd> </dl> <p><strong>Возвращает:</strong> OLE объект созданного элемента управления.</p> <p><strong>Описание:</strong> Создает в месте, указанном при вызове процедуры <a class="reference" href="#id7">УстановитьАтрибут</a> элемент управления ActiveX с указанным ProgID.</p> </blockquote> <div class="important"> <p class="first admonition-title">Важно</p> <p class="last">Метод работает после указания расположения ЭУ вызовом <a class="reference" href="#id7">УстановитьАтрибут</a> класса <a class="reference" href="#id1">АктивИкс</a> или вызовом СоздатьЭУ(СоздатьТабличноеПоле) класса АтрибутФормы.</p> </div> <p>OLE-объект возвращаемый при выполнении метода может быть сохранен в переменной. В дальнейшем доступ к этому объекту может осуществляться через свойство <a class="reference" href="#id5">Объект</a>.</p> </div> <div class="section" id="setfocus"> <h2><a name="setfocus">УстановитьФокус / SetFocus</a></h2> <blockquote> <p><strong>Синтаксис:</strong> УстановитьФокус()</p> <p><strong>Описание:</strong> Устанавливает фокус ввода.</p> </blockquote> </div> <div class="section" id="destroy"> <h2><a name="destroy">Уничтожить / Destroy</a></h2> <blockquote> <p><strong>Синтаксис:</strong> Уничтожить()</p> <p><strong>Описание:</strong> уничтожает элемент управления.</p> </blockquote> </div> </div> </div> </body> </html>