Re: не могу создать диалог с activex
От: algol Россия about:blank
Дата: 12.02.10 10:29
Оценка: 13 (2)
Здравствуйте, assad, Вы писали:

A>Пишу shellextension как это описано в статье http://www.rsdn.ru/?article/winshell/shlext5.xml
Автор(ы): Michael Dunn
Дата: 15.08.2001


Т.е., как я понял, пишете на чистом WinAPI без ATL и MFC?

A>с одним изменением -- добавил activex контрол на диалог.


Каким образом его добавили? Положили на диалог в ресурсах? Но WinAPI про ActiveX ничего не знает, это работает только для ATL и MFC, где соответствующий класс (например CAxDialog в ATL) парсит ресурс диалога и сам создает контрол.
Вам нужно самостоятельно создавать контрол в диалоге. Способы создания ActiveX контролов в любом приложении описаны здесь:
How to add ATL control containment support to any window in Visual C++
How to add ActiveX controls to an ATL composite control programmatically in Visual C++ ("These techniques can also be used to dynamically create ActiveX controls on any window.")

A>Диалог не создается. (Без activeX создается)


Возможно, вам будет проще сделать Shell Extension на ATL/WTL. CAxPropertyPage в WTL содержит поддержку ActiveX в диалоге.
Сам ShellExtension можно быстро сделать визардом типа этого — PropertySheet Shell Extension AppWizard.
А этот визард может помочь при создании классов из диалоговых ресурсов — Creating a WTL Dialog, Property Sheet or Wizard out of a resource (The Easy Way).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.