как перетащить текстовую строку и ее гиперссылку со страницы HTML в TEdit

Я надеюсь перетащить текстовую строку и ее гиперссылку со страницы HTML в TEdit. Например

отображает aaa

фактическая строка <a href=somewhere.html>aaa</a>

Я пытаюсь использовать drag&drop vcl, но обнаружил, что он может поймать только aaa, а не строку и ее гиперссылку.

Приветствую любой комментарий

Спасибо, интердев.


person arachide    schedule 06.05.2010    source источник


Ответы (2)


Скачайте бесплатный комплект компонентов перетаскивания от Андерса Меландера. В нем вы найдете TDropURLTarget для формы. Установите его свойство Target так, чтобы оно ссылалось на ваш элемент управления TEdit, и когда туда будет переброшен URL-адрес, свойства компонента URL и Title будут обновлены, чтобы вы могли проверить их во время обработчика события OnDrop. Комплект поставляется с несколькими примерами; TargetDemo содержит основные сведения.

person Rob Kennedy    schedule 06.05.2010
comment
Спасибо. Я использую этот vcl. Я думаю, что это только для одиночной гиперссылки перетаскивания. Я предпочитаю выбирать серию строк, перетаскивать их, чтобы поймать их гиперссылки один раз. - person arachide; 06.05.2010
comment
Но браузер не отправляет их по одному, и вы не можете получить то, что не было отправлено. В вашем случае перетаскивается блок текста, поэтому похоже, что вам нужно использовать простой компонент TDropTarget и искать вещи, которые соответствуют либо THTMLClipboardFormat, либо TTextClipboardFormat. Затем проанализируйте HTML в этом тексте, чтобы найти гиперссылки. О том, как анализировать HTML, можно узнать из других вопросов здесь, в Stack Overflow. - person Rob Kennedy; 06.05.2010

Еще одна хорошая библиотека — Raize DropMaster.

В любом случае, я считаю, что можно делать то, что вы хотите, но, может быть, это окажется перетаскиванием HTML или RTF? Тяжело сказать. Я могу, например, перетащить список гиперссылок на этой странице (там справа, в разделе «СВЯЗАННЫЕ») в Word, и все они появятся с гиперссылками на борту. Так что можно. Но я подозреваю, что WinWord падает как HTML.

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

person Chris Thornton    schedule 06.05.2010
comment
Спасибо. Raize Dropmaster тоже может делать то, что я хочу. - person arachide; 07.05.2010