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