Автор
|
Тема: ActiveX
|
Rambler |
опубликован 14-01-2002 12:35 MSK
Человеки!!! Как програмно создавать компоненты ActiveX? И как потом работать с этим объектом?
|
Yuriy
|
опубликован 14-01-2002 14:29 MSK
Доброго времени суток всем! У меня тоже по сабжу уже давно назрел вопрос - как программно создавать другие элементы управления хотя бы во время создания на своем (VC++ & ATL Control). Ну, в простейшем виде, Сombobox или Editbox поверх своего? VB это позволяет, а вот как это сделать на VC++??? |
michl_m
|
опубликован 14-01-2002 15:24 MSK
В VC++, например, проще всего создать при помощи самого Wizard. Т.е. выбираешь File->New->MFC ActiveX Control Wizard. Он почти все сделает сам. |
Rambler
|
опубликован 14-01-2002 16:58 MSK
Чо-то я не правильно выразился.. :( Я имел в виду как во время выполнения программы создавать динамически уже готовые компоненты ActiveX? И как потом ему передавать команды? |
ViSko
|
опубликован 14-01-2002 18:17 MSK
ActiveX = COM - вот ответ, как динамически вызывать COM объекты? Но может попробовать создать класс "обёртку" и попробовать через него. |
al
|
опубликован 14-01-2002 18:40 MSK
CWnd::CreateControl CWnd::GetControlUnknown "ActiveX Control Topics" в MSDN
|
ADK
|
опубликован 15-01-2002 06:18 MSK
Если есть обёртка для ActiveX, который вставляется в диалог, то можно как обычное окно через CWnd::Create создавать. |
Yuriy
|
опубликован 15-01-2002 10:50 MSK
Доброго времени суток всем! Так уж получилось, что в данной теме совпали (и, возможно, дополняют друг друга) два вопроса. Может, я не так выразился, но m_m > В VC++, например, проще всего создать m_m > при помощи самого Wizard.. Меня интересует возможность создания в своем ActiveX-компоненте одновременно, скажем, дерева, EditBox'а и Combobox'а, да еще и самому дорисовывать что надо... В идеале - чтобы можно было еще и во время выполнения создавать новые и убирать ненужные... Я уже пытался сделать это как обычно это делается на API, но столкнулся с проблемой - получить указатель окна. Результат, возвращаемый GetActiveWindow (это для тестирования), да и просто указатель на окно, которое передает приложение, не подходят, возникает исключение. ActiveX Control Wizard содает только диалог About и страницу свойств. Конечно, в идеале бы было, если бы в VC++ это реализовали примерно как в VB... Но вот VB мне как раз не подходит по причине низкого быстродействия.... Интересно, кто-нибудь еще пытался это сделать? |
eyes
|
опубликован 15-01-2002 14:51 MSK
COleControl наследуется от CWnd. Создавай контролы прямо в нем. |