Custom-интерфейсы для ActiveX

  Комплект файлов для разработчика

  Пример компонента

Пусть разрабатывается новый ActiveX-компонент для использования в TRACE MODE.

Если описанной выше функциональности недостаточно, то можно реализовать в компоненте интерфейс IChInfo (см. tmxaux.idl).

Для привязки к аргументу можно использовать страницу свойств tmChanPage. При этом надо указать ее явно в списке поддерживаемых.

Кроме того, можно использовать непосредственно интерфейс ItmChBrowser (см. tmxaux.idl). В этом случае надо написать свой интерфейс пользователя для привязки к нескольким аргументам. Если в ActiveX-компоненте используется собственный интерфейс привязки к аргументам и tmChanPage не требуется, то следует реализовать метод GetChInfoEx интерфейса IСhInfo с кодом возврата S_OK.

Интерфейс ItmChBrowser не может быть создан явным образом (вызовом CoCreateInstance), а передается методом SetChanBrowser интерфейса IChInfo.

Для изменения значения одного или  нескольких аргументов одновременно служит интерфейс ItmDataLink. Он предоставляется контейнером аналогично ItmChBrowser и имеет всего один метод, служащий именно этой функции. Интерфейс ItmGrChBrowser, специфицированный в том же файле, используется для внутренних нужд РПД.

Структуры данных, используемых методами упомянутых интерфейсов, описаны в файле rttypes.idl. Они подробно прокомментированы.

Если компонент готов к работе с TRACE MODE через специализированные интерфейсы, то его можно зарегистрировать в категории TraceMode Controls (см. пример), что позволит использовать фильтр при выборе компонента для вставки.

Комплект файлов для разработчика

В поддиректории TMX директории ИС находится набор файлов для разработчика ActiveX-компонента:

   tmxaux.idl – спецификация интерфейсов IChInfo, ItmChBrowser;

   rttypes.idl – ряд вспомогательных структур данных;

   ChBase.tlb – библиотека типов, содержащая страницы свойств tmChanPage и TmxAmbPage.

   Файлы примера.

Пример компонента

В качестве иллюстрации простого компонента, реализующего IChInfo, предлагается TraceMode Spin Control (Tmxlib.dll), исходные тексты которого находятся в поддиректории TMX каталога инсталляции ИС. Этот компонент представляет реализацию комбинации окон static и UpDown, то есть вариацию традиционной пары Edit и UpDown. Он принимает измененные значения аргумента и может управлять им при нажатиях соответствующих стрелок элемента Up/Down. Данный компонент разработан с использованием MS Visual C++5.0 и библиотеки ATL 2.0. Необходимая функциональность в данном случае могла бы быть достигнута и с использованием IDispatch.