Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 11:33   #1
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
Восклицание Новые окна webbrowser.

Есть проблема. Когда в вышеуказанном компоненте я перехожу по какой-либо ссылке, например, в поисковике, то ссылка открывается в новом окне Explorer. А как сделать, чтобы она открывалась в том же компоненте? Или на новой форме. Для этого надо создать форму и компонент на ней, но у меня выводит ошибку. Вот мой код:

Код:
OnNewWindow2(...);
var
f:tform;
w:twebbrowser;
begin
f:=tform.create(self);
with f do begin
left:=form1.left;
top:=form1.top;
width:=form1.width;
height:=form1.height;
end;
w:=twebbrowser.create(self);
with w do begin
parent:=f;
left:=webbrowser1.left;
top:=webbrowser1.top;
width:=webbrowser1.width;
height:=webbrowser1.height;
end;
Выводит ошибку на строке
Код:
parent:=f;
Как мне указать форму для браузера, и как сделать, чтобы ссылка передавалась не эксплореру, а ему?
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 10.01.2011, 17:16   #2
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Неужели никто не поможет?
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 10.01.2011, 17:41   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какую ошибку выводит?
я не телепат...и еще замените
Код:
f:=tform.create(self);
на
Код:
f:=tform.create(Application);//мне кажется так логичнее.
но это не обязательно.

и(уже следует)
Код:
w:=twebbrowser.create(self);
на
Код:
w:=twebbrowser.create(f);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.01.2011, 18:15   #4
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Ага, спасибо А как сделать, чтобы вместо нового окна ссылка открывалась в новой форме?
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 16.01.2011, 21:22   #5
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Задам вопрос еще раз, чтобы подняться вверх списка Как сделать так, чтобы активированная ссылка в окне WebBrowser открывалась в том же компоненте или на свежесозданном, а не в IExplorer?
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 16.01.2011, 21:42   #6
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

Напишите в обработчике события Cancel:=True
WhiteSpirit вне форума Ответить с цитированием
Старый 16.01.2011, 23:30   #7
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Цитата:
Сообщение от Vaigard Посмотреть сообщение
Задам вопрос еще раз, чтобы подняться вверх списка Как сделать так, чтобы активированная ссылка в окне WebBrowser открывалась в том же компоненте или на свежесозданном, а не в IExplorer?
Открытие ссылки с атрибутом "target="_blank"" в новом компоненте на новой форме. Пример на EmbeddedWB. Вроде с Twebbrowser аналогично.

Код:
procedure TForm1.EmbeddedWB1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
var newForm: TForm1;
begin
 newForm := TForm1.Create(Application);
 newForm.Show;
 ppDisp := newForm.EmbeddedWB1.ControlInterface;
end;
Voody вне форума Ответить с цитированием
Старый 17.01.2011, 08:24   #8
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Попробую, спасибо
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 17.01.2011, 20:20   #9
Vaigard
Delphi and (not C)
Форумчанин
 
Аватар для Vaigard
 
Регистрация: 04.12.2010
Сообщений: 117
По умолчанию

Так, а где взять embeddedwb? Что-то я его не нашел на ближайших вкладках.
<--Жми на весы
Vaigard вне форума Ответить с цитированием
Старый 17.01.2011, 20:57   #10
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Цитата:
Сообщение от Vaigard Посмотреть сообщение
Так, а где взять embeddedwb? Что-то я его не нашел на ближайших вкладках.
http://bsalsa.com/downloads.html
Voody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пример создания окна для ActiveX(OLE) компонента(по типу WebBrowser или Flash) Пепел Феникса Win Api 4 25.12.2009 09:08
новые компоненты blackstersl Свободное общение 2 01.09.2008 08:12
Размер окна в зависимости от размера окна Reverent JavaScript, Ajax 1 02.02.2008 15:49
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13