Принципиальный молчун
Зарегистрирован: 14 October 2007
Сообщения: 5
Примеры кода: 0
|
Дочернее окно внутри стороннего приложения |
18 October 2007 11:23 |
|
|
|
|
По сути, это код вот этого(или я не прав?):
т.е. в свой форме можно сделать метод, в который из ArcGis будет передаваться hwnd главного окна ArcGis. В этом методе надо создать объект реализующий IWin32Window, свойство которого возвращает полученный hwnd. А ссылку на IWin32Window надо передать в ShowDialog своей формы.
Повторяю, мне это не помогло. Вообще, я видел, что для тех у кого не .net 2005 (у меня .net 2003) предлагали использовать API.
Я воспользовался SetWindowLong:
MyForm.Show()
LibWrap.SetWindowLong(MyForm.Handle.ToInt32, GWL_HWNDPARENT, m_app.hWnd)
'где GWL_HWNDPARENT=(-8), а m_app - ссылка на стороннее приложение.
Когда я тыкаю на стороннее приложение(моя форма переходит в состояние deactivate()), а затем активирую форму(тыкаю по ней) обратно, она перестает быть дочерней, "выпрыгивает" из приложения.
Подскажите, что нужно сделать, чтобы при деактивации формы, она продолжала оставаться дочерней.
Спасибо.
Данное сообщение получено с сайта GotDotNet.RU
|
|