Почему GetSafeHwnd () возвращает ноль в элементе управления ActiveX? - PullRequest
0 голосов
/ 17 сентября 2011

Я разработал элемент управления MFC Activex, который без окон и невидим во время выполнения, в то время как я предполагал, что в основном activex - это элемент управления, который будет манипулировать дескриптором окна, я использовал GetSafeHwnd() для получения дескриптора окна, но, к сожалению, этот метод возвращает ноль при запуске. возможно я установил неправильную опцию при создании моего activex. Как я могу создать ActiveX без окон, который может манипулировать Windows Hanlde?

1 Ответ

2 голосов
/ 17 сентября 2011

По определению, безоконный элемент управления ActiveX не имеет окна и отображается как часть его родительского элемента.Если вы хотите работать с сообщениями Windows в элементе управления, вы можете создать рабочий поток с циклом сообщений и обрабатывать там все сообщения.Чтобы иметь цикл сообщений, вам не нужно окно, просто поток.Это решение может быть реализовано в элементе управления без окон или в любом компоненте COM.

Кроме того, вы можете использовать оконный элемент управления ActiveX, изменив его свойства.

...