Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > ActiveX-компонент своими руками


Автор: TaTaP 29.11.2002, 03:55
Люди, подскажите пожалуйста, как самому, без использования различных библиотек, типа ATL и MFC, реализовать ActiveX - компонент, такой, чтобы его можно было вставлять в Word, Excel и т.д. То есть нужно создать его вообще с нуля и с использованием только Win32 API. Объясните, что хотя бы для этого нужно сделать или это в принципе невозможно ?

Автор: Fantasist 29.11.2002, 04:04
Цитата(TaTaP @ 28.11.2002, 19:55)
Объясните, что хотя бы для этого нужно сделать или это в принципе невозможно ?

А что, по твоему стандартные библиотеки делают это при помощи магии.  :)
Для начала, если ты незнаком с основами, то почитай это:

http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=32;t=3709

 Все остальное делается точно так же. Просто тебе надо реализовать очень значительное количество интерфейсов, если ты хочешь создать OCX (визуальный OLE контрол). Только зачем? Библиотеки-то и сделанны для того, чтобы самому не писать.

Автор: TaTaP 30.11.2002, 03:29
Просто хочется узнать, как вся эта кухня работает. В MSDN просто сказано, типа ваш класс должен наследовать от таких-то классов, поддерживать такие-то интерфейсы, а зачем и почему нужно именно так - не объясняется. Для чего нужна эта прорва интерфейсов тоже не очень понятно, блин... Кстати, за статью спасибо.

Автор: Fantasist 30.11.2002, 05:53
Цитата(TaTaP @ 29.11.2002, 19:29)
Для чего нужна эта прорва интерфейсов тоже не очень понятно,

Знаешь, за пять минут это тяжело понять. Мне тоже до сих пор интересно как в этой обширной технологии OLE все устроенно. В общем понятно, что, скажем, OCX должен поддерживать некий набор интерфейсов, чтобы клиент мог его встроить, и клиент должен поддерживать некий набор интерфейсов, чтобы OCX мог в него встроиться. Но вот чтобы увидеть общую картину в деталях это надо попытаться, как ты и сказал, самому реализовать контейнер, и самому реализовать OCX. Без всяких библиотек, естессвенно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)