ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

IOPMPropertyExpander Интерфейс


Основная цель этого класса состоит в том, чтобы позволить одному свойству вспыхиваться в несколько свойств в OPM. Например, Автоматизация имеет свойство по имени StartPoint для AcadLine. Это свойство получает или устанавливает ВАРИАНТ, который содержит массив,  удваивается (технически ВАРИАНТ содержит указатель на SAFEARRAY,  удваивает) представление точки начала линии. Это несколько более эффективно и более чисто с точки зрения API чем наличие свойств Автоматизации по имени StartX, StartY, StartZ на AcadLine. Однако, OPM должен отобразить свойства, расширялся из этим способом. В добавлении к разбиванию одного свойства в массив свойств, Вы можете также группировать элементы в том массиве. Например, для вершины ломаной линии, имеется одно свойство Автоматизации, “Координаты”, который возвращается,  массив удваивает, каждая последовательная пара, представляющая X, Y вершину 2-ой ломаной линии. Определяя группировку, OPM автоматически создаст контроль spinner для свойства, позволяя пользователю перечислять и изменить значения вершины.

Эти методы необязательные, с тех пор в большинстве случаев, Вы можете создавать отдельные свойства в IDL.

Реализация Статические Интерфейсы OPM

Чтобы осуществлять обертки объекта COM, определяющие статические свойства для заказных объектов,  самый простой метод состоит в том, чтобы использовать ATL. ATL делает это очень простым создать объекты COM та поддержка IDispatch. Наиболее трудная часть интегрирует ObjectARX заказной объектный код с ActiveX Сервером DLLs, что ATL генерирует.

Как только основной объект работает, просто добавить свойства, которые обнаружятся в OPM. См. предыдущую секцию для команд, чтобы создать основную обертку объекта COM для ваших заказных объектов.



Содержание раздела