Главная страница
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.027 c
3-1084528367
exe
2004-05-14 13:52
2004.06.06
Аналог IBExperta


1-1085065251
DmitryZ
2004-05-20 19:00
2004.06.06
[D7] Доступ к компонентам, рассположенным в DataModule в DLL?!


1-1085119168
IrBisoff
2004-05-21 09:59
2004.06.06
Правильная передача в Dll структуры данных.


8-1080220511
X-Disa
2004-03-25 16:15
2004.06.06
Заливка


1-1085577396
denis24
2004-05-26 17:16
2004.06.06
вытащить сумму из строки