ActiveX позволит вам определять ваши собственные методы на вашем собственном интерфейсе (чтобы учесть предположение Бриана), но это, скорее всего, здесь не поможет. Элемент управления ActiveX вполне может быть создан другим компонентом.
ATL тоже не имеет значения - это библиотека шаблонов C ++, которая оборачивает интерфейсы COM.
Здесь вам нужна функция IOleWindow :: GetWindow. Я не уверен, что вы подразумеваете под "переопределением функции ATL для использования HWMD". После того, как вы получили HWND, вы можете передать его любой функции, которая использует HWND. Например, в качестве родителя в SetParent (child, parent)