Delphi - Как создать ярлык TEdit для URL TWebBrowser - PullRequest
0 голосов
/ 12 мая 2018

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

1 Ответ

0 голосов
/ 12 мая 2018

Написать обработчик для события OnNavigateComplete2:

procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
  const pDisp: IDispatch; const URL: OleVariant);
begin
  Edit1.Text := URL;
end;

Документация гласит:

Написать обработчик события OnNavigateComplete2 для выполнения определенных действий. когда веб-браузер успешно переходит на новый ресурс. событие может произойти до того, как документ будет полностью загружен, но когда происходит, по крайней мере, часть документа должна быть получена и зритель для документ создан.

Примечание. В отличие от события OnDownloadComplete, OnNavigateComplete2 не происходит, если операция не выполнена.

Тест с несуществующим URL показал, что он все равно срабатывает.

Возможно, вы захотите написать обработчик для события OnBeforeNavigate2, если хотите, например, f.ex. программно отменить навигацию по URL

procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  Edit1.Text := URL;
end;
...