как можно получить HWND
От: Ecossian  
Дата: 28.10.02 15:10
Оценка:
к Full Control (windowed) ActiveX?
::IsWindow(m_hWnd) и ::IsWindow(m_hWndCD) всегда возвращают ноль...
Re: как можно получить HWND
От: MadMax  
Дата: 29.10.02 06:48
Оценка:
У меня был ATL ActiveX control


Чтобы получить его истенное HWND я сделал так:

1. Получил HWND того ID под которым Control в диалоговом окне.
CWindow w = GetDlgItem( IDC_GRID );

2. По HWND получиль IUnknown ActiveX Control'a

IUnknownPtr pUnk;
HRESULT hr = AtlAxGetControl( w.m_hWnd, &pUnk );

3. Снял IOleInPlaceActiveObject

IOleInPlaceActiveObjectPtr ptrOle = pUnk;

4. Получил реальный HWND

HWND hwnd = 0;
ptrOle->GetWindow( &hwnd );


Если ты пишешь на MFC найди чтото подобное IOleInPlaceActiveObject
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.