![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Событие открытия нового окна в TWebbrowser [D6, Win2k, WinXP]
dreams © (2004-04-16 07:40:00)У меня MDI приложение ( интернет браузер, что то все заболели написанием браузеров :) ) В общем если пользователь щёлкнул на ссылке которая открывает другое окно ( либо при нажатии удерживая shift + Ctrl ) то открываеться IE :(
В конфиренциях я нашёл решение : Обрабатывать событие OnNewWindow2
Cancel:=true; // не даёт запуститься ещё одному окну
Вот у этого события есть переменная : ppDisp типа IDispatch;
Вопрос : мне нужно создать новое окно и передать данные из ppDisp
в новую копию Twebbrewser. Я например могу запихать ppDisp в переменную типа variant, как при создании нового компонента Twebbrowser запихать в него ppDisp ? чтобы он открыл ссылку .
nikkie (2004-04-17 14:18:00) [1]с созданием форм проблем нет кроме собственных рук
как и с передачей IDispatch впрочем
SergP (2004-04-17 14:11:00) [2]Я не работал с MDI формами, поэтому ничего толкового подсказать не могу, но судя по твоей проблеме:
>а если создавать форму из другой формы то созданая форма будет думать что
>родитель её не главная ворма а только что её создавшая , что приведёт к
>тому что если закроешь 1 форму то закроеться и 2 :(
есть несколько мыслей:
1. А разве нельзя изменить родителя?
2. В процедуре-обработчике события TWebbrowser'а сначала вызвать процедуру для создания новой формы и браузера на ней, а затем передать ppDisp. Если будут проблемы с созданиемновой формы, то попробуй сделать вызов той процедуры через SendMessage.
dreams (2004-04-17 08:19:00) [3]Люди подскажите кто знает ... блин 3 день с этим вопросом мучаюсь :(
dreams (2004-04-16 09:11:00) [4]> SergP
я создаю не второй twebbrewser ! а 2 MDI форму на которой он расположен ! а если создавать форму из другой формы то созданая форма будет думать что родитель её не главная ворма а только что её создавшая , что приведёт к тому что если закроешь 1 форму то закроеться и 2 :(
По этому я актевезирую процедуру создания новой формы которая находиться в главной форме приложения, а фот передать туда ppDisp типа IDispatch не могу :(
SergP (2004-04-16 08:33:00) [5]Да и не так далеко есть аналогичный топик. Почитай там. На данный момент он скорее всего на второй странице, т.е. далеко еще не ушел...
SergP (2004-04-16 08:32:00) [6]А почему бы тебе в OnNewWindow2 не создавать сразу второй tWebbrowser и делать далее то что ты хочешь?