Re[3]: как отобразить ActiveX через дерективу #import?
От: retalik www.airbandits.com/
Дата: 15.05.02 03:06
Оценка:
Здравствуйте natalka, Вы писали:

N>Я подключаю *.tlb

N>
N>#import "VGridApp.tlb" no_namespace
N>....
N>//Я объявляю smart pointer так:
N>IVGridPtr pGrid("VGridApp.VGrid.1");
N>


Понятно. Здесь ты не просто объявляешь smart pointer, а создаешь экземпляр объекта. Причем, без хоста (т.е., без родительского окна). Далеко не всякие ActiveX-ы умеют отображаться таким образом (как, например, "MSComDlg.CommonDialog").
Чтобы создать видимый AX, проще всего поместить его на диалоговый ресурс в MFC-окне с включенной подержкой ActiveX или ATL-окне, порожденном от CAxWindow. А потом уже получай свой смарт-пойнтер (в ATL — с помощью CWindow::GetDlgControl; в MFC — не помню уже, как)
Успехов,
Виталий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.