Есть ли способ каким-то образом внедрить приложение для удаления WTL в ATL ActiveX (т.е. расширение)?Вставить приложение WTL в элемент управления ATL ActiveX
Я пытаюсь создать элемент управления ActiveX с помощью средства просмотра файлов Office. В качестве базы у меня есть настольное приложение WTL (написанное некоторое время назад), которое использует OOo v3 API для отображения документов.
- Я создал проект ActiveX, связал необходимые библиотеки и включил.
- Я могу назвать методы WTL и OO Api.
- Некоторые свойства и методы были добавлены в соответствии с требованиями приложения-хозяина.
- Мои ActiveX правильно показано то есть и хост-приложения
И вот мое счастье (и знания?) Закончилась.
У меня есть свойство m_hwnd, но оно всегда равно 0; Я Googled немного, и обнаружил, что я могу получить родительский HWND с
this->m_spInPlaceSite->GetWindow()
, но это не работает, либо. Каждый раз, когда я хочу создать оконную рабочую среду, заканчивается методом IsWindow() (вызванным из ATL lib) с родителем == null
Чтобы создать и показать OOo :: DocWindow, мне нужно HWND родительского окна.
И здесь идет вопрос:
Могу ли я как-то встроить приложение WTL окна на основе в ActiveX, т.е. расширение?
Можно ли без повторной записи всего OOo Api обертка?
Он по-прежнему показывает некоторую ошибку при преобразовании карт сообщений во время компиляции, но теперь я хочу посмотреть, что искать. Благодаря! – beermann