![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 23
|
![]()
var WB_document:IHTMLDocument2;
TextRange1:IHTMLTxtRange; begin ... TextRange1:=(WB_document.selection. createRange as IHTMLTxtRange); Как можно проверить является ли Textrange или его часть гиперссылкой или частью гиперссылки ? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.06.2009
Сообщений: 108
|
![]()
Как-то вот так:
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 23
|
![]()
Спасибо.
Однако это не всегда даст верный ответ. В ParentElement может быть несколько Link-ов, которые не будут иметь ничего общего с Textrange1. Нужно проверить Textrange1 на пересечение с Link-ом и найти этот Link. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 23
|
![]() Код:
не верно, если какая-то часть selection находится вне Link-a. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.06.2009
Сообщений: 108
|
![]()
В таком случае, другого варианта, как сначала проверять приведенным выше способом (или через Supports(TextRange1.parentElement, IHTMLAnchorElement, Link), так даже проще), а если результат отрицательный - проверять TextRange1.htmlText на наличие тега '<A>', и вытаскивать руками из него href, я не вижу.
Можно, конечно, взять Children у родителя, пройти по всем дочерним элементам (возможно даже рекурсивно), и проверить, есть ли среди них Anchor-ы, но если есть, как ты IHTMLEmelent превратишь в IHTMLTxtRange, чтобы проверить свойством inRange, находится ли найденный среди дочерних элементов anchor внутри selection, или нет? |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 23
|
![]()
Спасибо.
Наверное так и придется сделать. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.06.2009
Сообщений: 108
|
![]()
Есть еще одна идея, проверь:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 23
|
![]()
Так оно и есть!
Работает отлично, то что нужно!! Спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как проверить наличие программы | googl | Общие вопросы Delphi | 13 | 22.03.2012 16:14 |
Проверить на наличие изображения | Nikolay-1989 | БД в Delphi | 1 | 15.03.2011 08:21 |
Проверить наличие устройства | Hulkus | Помощь студентам | 0 | 27.02.2011 23:50 |
Проверить наличие eng символов? | alco84 | Microsoft Office Access | 4 | 08.04.2010 11:08 |
Проверить наличие запроса? | alco84 | Microsoft Office Access | 2 | 25.03.2010 22:56 |