Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Открыть URL в новом окне, используя WEBBrowser

Delphi , Интернет и Сети , URL

Открыть URL в новом окне, используя WEBBrowser

В семье инетчика. Ночной сеанс. Муж:
- Дорогая откройка свою WWW, и быстренько на мой сайт.


{ 
  Usually when you open a URL in new window in TWebBrowser it opens 
  the Internet Explorer. This tip creates a new instance of your 
  browser form and opens the new site in your browser. 
} 


procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; 
  var ppDisp: IDispatch; var Cancel: WordBool); 
var 
  NewWindow: TForm1; 
begin 
  // a new instance of the form will be created 
  // Eine neue Instanz wird erstellt 
  NewWindow := TForm1.Create(self); 

  NewWindow.Show; 
  ppDisp := NewWindow.Webbrowser1.DefaultDispatch; 
end;

Here's a translation of the content into Russian:

Делфи-программирование задачи!

Цель - открыть URL в новом окне с помощью компонента TWebBrowser, а не в стандартном браузере (Internet Explorer).

Вот код, который был предоставлен:

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
var
  NewWindow: TForm1;
begin
   // создается новый экземпляр формы
  NewWindow := TForm1.Create(self);

  NewWindow.Show;
  ppDisp := NewWindow.WebBrowser1.DefaultDispatch;
end;

Давайте разберемся:

  • WebBrowser1NewWindow2 - обработчик события, который вызывается, когда пользователь запрашивает открыть новое окно.
  • Sender: TObject; - объект, который.triggered событие (в этом случае, компонент TWebBrowser).
  • var ppDisp: IDispatch; - переменная типа IDispatch, которая будет содержать интерфейс dispatch для нового экземпляра браузера.
  • var Cancel: WordBool; - булевое значение, которое можно использовать для отмены события, если необходимо.

Код создает новый экземпляр формы (TForm1) с помощью Create(self), что означает создание нового экземпляра той же формы. Затем он показывает этот новый экземпляр с помощью Show. Наконец, код присваивает интерфейс dispatch по умолчанию для компонента WebBrowser1 переменной ppDisp.

Чтобы использовать этот код, вам нужно:

  1. Добавить компонент TWebBrowser на вашу форму (например, Form1).
  2. Установите обработчик события WebBrowser1NewWindow2 в Инспекторе объектов.
  3. Когда пользователь запрашивает открыть новое окно, событие WebBrowser1NewWindow2 будет вызвано, и новый экземпляр формы будет создан с URL, открытой в нем.

Альтернативное решение с использованием функции ShellExecute:

procedure TForm1.OpenInNewWindow(Sender: TObject; const URL: string);
var
  ShellApp: IShellDispatch;
begin
  ShellApp := CreateOleObject('shell.application');
  ShellApp.ShellExecute(0, 'open', PChar(URL), '', SW_SHOWNORMAL);
end;

Код использует функцию ShellExecute для открытия URL в новом окне. Вы можете вызвать это процедуру из вашего обработчика событий (например, WebBrowser1NewWindow2) и передать желаемый URL в качестве аргумента.

Надеюсь, это поможет! Пожалуйста, дайте мне знать, если у вас есть какие-либо дополнительные вопросы или вам нужна более подробная информация о каком-либо из этих решений.

Открыть URL в новом окне в приложении TWebBrowser, минуя открытие интернет-эксплорера, можно с помощью создания нового инстанса формы и отображения URL в этом инстанце.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: URL ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:37:14/0.0054910182952881/1