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

Как вызвать команды Find, Options или View Source

Delphi , Интернет и Сети , Браузер

Как вызвать команды Find, Options или View Source

Вот пример вызова диалога Find


const
  HTMLID_FIND       = 1;
  HTMLID_VIEWSOURCE = 2;
  HTMLID_OPTIONS    = 3;

...

procedure TForm1.FindIE;
const
  CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
var
  CmdTarget : IOleCommandTarget;
  vaIn, vaOut: OleVariant;
  PtrGUID: PGUID;
begin
  New(PtrGUID);
  PtrGUID^ := CGID_WebBrowser;
  if WebBrowser1.Document <> nil then
    try
      WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
      if CmdTarget <> nil then
        try
          CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
        finally
          CmdTarget._Release;
        end;
    except
      // nothing
    end;
  Dispose(PtrGUID);
end;

Программный код на Delphi, используемый для вызова команд Find, Options или View Source в контроле WebBrowser. Контрол WebBrowser использует интерфейс IOleCommandTarget для выполнения команд.

Процедура FindIE вызывает команду Find в веб-браузере. Работает следующим образом:

  1. Получает экземпляр интерфейса IOleCommandTarget из свойства Document контрола WebBrowser.
  2. Затем вызывает метод Exec интерфейса IOleCommandTarget с параметрами:
    • PtrGUID: GUID контрола WebBrowser.
    • HTMLID_FIND: ID команды Find (1).
    • 0: Опциональный параметр, указывающий состояние команды.
    • vaIn: Входное значение для команды. В этом случае не используется.
    • vaOut: Выходное значение для команды. В этом случае не используется.

Чтобы вызвать другие команды, такие как Options или View Source, вы бы заменили HTMLID_FIND на HTMLID_OPTIONS или HTMLID_VIEWSOURCE, соответственно.

Вот альтернативное решение с более дельфийским синтаксисом:

procedure TForm1.FindIE;
var
  cmdTarget: IOleCommandTarget;
begin
  if WebBrowser1.Document <> nil then
    try
      WebBrowser1.Document.QueryInterface(IOleCommandTarget, cmdTarget);
      if cmdTarget <> nil then
        try
          cmdTarget.Execute(CGUID_WebBrowser, HTMLID_FIND, 0, nil, nil);
        finally
          cmdTarget.Release;
        end;
    except
       // обработка исключения
    end;
end;

procedure TForm1.ViewSourceIE;
begin
  FindIE(HTMLID_VIEWSOURCE);
end;

procedure TForm1.OptionsIE;
begin
  FindIE(HTMLID_OPTIONS);
end;

В этом альтернативном решении вы бы вызвали ViewSourceIE или OptionsIE, чтобы выполнить команды View Source или Options, соответственно.

В статье описывается вызов команд Find, Options и View Source в Delphi-приложении с помощью WebBrowser1, для чего необходимо использовать интерфейс IOleCommandTarget и GUID для указания типа документа.


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

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




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


:: Главная :: Браузер ::


реклама


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

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