Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Событие открытия нового окна в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.09 c
3-1084518929
TransparentGhost
2004-05-14 11:15
2004.06.06
Где находятся SHGetSpecialFolderPath и SHGetFolderPath ?


14-1085234701
Kolyan
2004-05-22 18:05
2004.06.06
Мы все учились понемногу.................


1-1085423020
Олег
2004-05-24 22:23
2004.06.06
Как устранить мерцание формы при смене её стиля в runtime ?


3-1084605195
kukuikar
2004-05-15 11:13
2004.06.06
onCalcFields....................................


1-1085581049
ceval
2004-05-26 18:17
2004.06.06
при нажатии кнопки Ffind-форма закрывалась и остался MessageBox