2010-05-06 3 views
4

텍스트 문자열과 해당 하이퍼 링크를 HTML 페이지에서 TEdit으로 드래그하려고합니다. 예를 들어 텍스트 문자열과 하이퍼 링크를 HTML 페이지에서 TEdit으로 드래그하는 방법

표시 aaa

실제 문자열은 <a href=somewhere.html>aaa</a>

내가 드래그 & 드롭 VCL을 사용하려고하지만, 그것은 단지 aaa 자체보다는 캐릭터와 하이퍼 링크를 잡을 수 있다는 것을 발견한다.

는 이동이 앤더스 멜 랜더의 무료 Drag and Drop Component Suite을 다운로드하는 의견을

감사 InterDev에서

답변

4

에 오신 것을 환영합니다. 이 양식에는 TDropURLTarget이 있습니다. 해당 Target 속성을 TEdit 컨트롤을 참조하도록 설정하고 URL을 삭제하면 구성 요소의 URLTitle 속성이 업데이트되어 OnDrop 이벤트 처리기에서 속성을 검사 할 수 있습니다. 이 제품군에는 몇 가지 예가 있습니다. TargetDemo에는 기본 기능이 있습니다.

+0

감사합니다. 이 vcl을 사용하고 있습니다. 나는 grag & drop 싱글 하이퍼 링크에 대해서만 생각한다. 일련의 문자열을 선택하고 드래그 앤 드롭하여 한 번 하이퍼 링크를 잡는 것을 선호합니다. – arachide

+1

그러나 브라우저는 한 번에 하나씩 보내지 않으며 보내지 않은 것을받을 수 없습니다. 귀하의 경우 드래그되는 것은 * 텍스트 * 블록이므로 일반 'TDropTarget' 구성 요소를 사용하고'THTMLClipboardFormat' 또는 'TTextClipboardFormat'과 일치하는 항목을 찾아야합니다. 그런 다음 해당 텍스트의 HTML을 구문 분석하여 하이퍼 링크를 찾습니다. Stack Overflow에서 HTML을 파싱하는 방법은 다른 질문에서 다루어 질 수 있습니다. –

0

다른 좋은 라이브러리는 Raize DropMaster입니다.

어쨌든, 나는 그것이 당신이 원하는 것을 할 수 있다고 믿습니다. 그러나 어쩌면 그것은 HTML이나 RTF 드래그/드롭이 될 것입니다. 말하기 힘듭니다. 예를 들어,이 페이지의 하이퍼 링크 목록 (오른쪽 아래, "RELATED"아래)을 Word로 끌어다 놓을 수 있으며, 하이퍼 링크가 보드에 모두 표시됩니다. 그래서 가능합니다. 그러나 나는 WinWord가 HTML로 떨어지고 있다고 의심한다.

어쨌든 예제를 보는 Rob의 제안은 좋은 라이브러리입니다. 라이브러리와 Raize 사이에 프로토 타입으로 사용할 수있는 것을 찾아야합니다.

+0

감사합니다. Raize Dropmaster는 또한 내가 원하는 것을 할 수 있습니다. – arachide

관련 문제