Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Получить выделенные объекты из TWebBrowser

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

Получить выделенные объекты из TWebBrowser

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure TForm1.Button1Click(Sender: TObject);
 begin
   if Webbrowser1.OleObject.Document.Selection.type = 'Control' then
   begin
     if Webbrowser1.OleObject.Document.Selection.CreateRange.CommonParentElement.tagName =
       'IMAGE' then
       ShowMessage('An Image is selected');
   end
   else
   begin
     if Webbrowser1.OleObject.Document.Selection.createRange.Text = '' then
       ShowMessage('Nothing is selected - ');
   end;
 end;

Here's the translation of the provided content into Russian:

Код, который вы предоставили, - это процедура в Delphi, которая запускается при клике по кнопке Button1. Эта процедура проверяет, выбран ли объект в контролле TWebBrowser, и если да, то она проверяет тип выбранного объекта.

Вот разбивка того, что код делает:

  • if Webbrowser1.OleObject.Document.Selection.Type = 'Control' then: эта строка проверяет, является ли выборка в веб-браузере контролем. Выборка может быть текстом, таблицей, изображением и т.д.
  • if Webbrowser1.OleObject.Document.Selection.CreateRange.CommonParentElement.tagName = 'IMAGE' then: если выборка - это контролл и его тип равен 'Control', эта строка проверяет, является ли этот контрол изображением. Она делает это, сравнивая tagName общего родительского элемента созданного диапазона, который содержит выбранное текст или контрол.
  • ShowMessage('An Image is selected');: если выбранный объект - это действительно изображение, она отображает сообщение с текстом 'An Image is selected'.
  • else if Webbrowser1.OleObject.Document.Selection.CreateRange.Text = '' then: если выборка не является изображением, эта строка проверяет, есть ли выбранное текст. Она делает это, сравнивая свойство Text созданного диапазона.
  • ShowMessage('Nothing is selected');: если нет выбранного текста, она отображает сообщение с текстом 'Nothing is selected'.

Вот предложенная альтернативная решение:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Webbrowser1.OleObject.Document.Selection.Type = vsHTMLSelectionTypeControl then
    if GetSelectedElement(Webbrowser1.OleObject.Document) = 'IMG' then
      ShowMessage('An Image is selected')
    else
      ShowMessage('Something else is selected');
  else
    if Trim(Webbrowser1.OleObject.Document.Selection.CreateRange.Text) <> '' then
      ShowMessage('Some text is selected')
    else
      ShowMessage('Nothing is selected');
end;

function TForm1.GetSelectedElement(Document: IHTMLDocument2): string;
var
  Selection: IHTMLSelectionObject;
  Element: IHTMLElement;
begin
  Selection := Document.Selection;
  Element := Selection.CreateRange.CommonAncestor as IHTMLElement;
  Result := Element.tagName;
end;

В этом альтернативном решении логику разделяют на две процедуры. Функция GetSelectedElement проверяет, какой тип элемента выбран и возвращает его tagName. Основная процедура использует эту функцию для проверки, является ли изображением или текстом выбранный объект, и отображает сообщение соответственно.

В статье описывается процедура, которая позволяет получить выделенные объекты из TWebBrowser и отображать сообщение в зависимости от типа выбранного объекта или отсутствия выделения.


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


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 12:19:58/0.0063810348510742/0