如何从HTML页面拖动文本字符串及其超链接到TEdit?

4
我希望能够从HTML页面中拖动文本字符串及其超链接到TEdit中。例如:

显示aaa

实际字符串为<a href=somewhere.html>aaa</a>

我尝试使用拖放VCL,但发现它只能捕获aaa本身,而不能捕获字符串及其超链接。

欢迎任何评论。

谢谢 interdev

2个回答

4

请下载Anders Melander免费的拖放组件套件。其中,您将找到TDropURLTarget组件,可以放置在您的表单上。将其Target属性设置为引用您的TEdit控件,当URL被拖放到此处时,组件的URLTitle属性将被更新,以便您可以在OnDrop事件处理程序中检查它们。该套件附带了几个示例,TargetDemo包含了基本功能。


谢谢。我正在使用这个vcl。我认为它只适用于拖放单个超链接。我更喜欢选择一系列字符串,一次性拖放以捕获它们的超链接。 - arachide
1
但是浏览器不会一次发送它们,而且你不能接收未被发送的内容。在你的情况下,被拖动的是一个文本块,所以看起来你需要使用一个普通的 TDropTarget 组件,并查找与 THTMLClipboardFormatTTextClipboardFormat 匹配的内容。然后解析该文本中的 HTML 以查找超链接。如何解析 HTML 可能已经在 Stack Overflow 的其他问题中涉及。 - Rob Kennedy

0

另一个好的库是Raize DropMaster。

无论如何,我相信你想要的是可能可以实现的,但也许会变成HTML或RTF拖放?很难说。例如,我可以将此页面上的超链接列表(在“相关”下面的右边)拖放到Word中,它们都会显示出来,并带有超链接。所以这是可能的。但我怀疑WinWord是作为HTML进行拖放的。

总之,Rob提供的查看示例的建议是一个好主意 - 在这个库和Raize之间,你应该能够找到一些可以用作原型的东西。


感谢您。Raize Dropmaster 也可以实现我想要的功能。 - arachide

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接