|
От: |
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
Пока на собственное сообщение не было ответов, его можно удалить.