В семье инетчика.
Ночной сеанс. Муж:
- Дорогая откройка свою 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).
Вот код, который был предоставлен:
procedureTForm1.WebBrowser1NewWindow2(Sender:TObject;varppDisp:IDispatch;varCancel:WordBool);varNewWindow: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.
Чтобы использовать этот код, вам нужно:
Добавить компонент TWebBrowser на вашу форму (например, Form1).
Установите обработчик события WebBrowser1NewWindow2 в Инспекторе объектов.
Когда пользователь запрашивает открыть новое окно, событие WebBrowser1NewWindow2 будет вызвано, и новый экземпляр формы будет создан с URL, открытой в нем.
Альтернативное решение с использованием функции ShellExecute:
Код использует функцию ShellExecute для открытия URL в новом окне. Вы можете вызвать это процедуру из вашего обработчика событий (например, WebBrowser1NewWindow2) и передать желаемый URL в качестве аргумента.
Надеюсь, это поможет! Пожалуйста, дайте мне знать, если у вас есть какие-либо дополнительные вопросы или вам нужна более подробная информация о каком-либо из этих решений.
Открыть URL в новом окне в приложении TWebBrowser, минуя открытие интернет-эксплорера, можно с помощью создания нового инстанса формы и отображения URL в этом инстанце.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.