Установить гиперссылку в RichTextBox - PullRequest
3 голосов
/ 22 февраля 2011

Я создал файл rtf с гиперссылкой в ​​MS Word и загрузил его в RichTextBox.Гиперссылка в RichTextBox не работает.RichTextBox и MS Word используют разные коды rtf?Как я могу создать гиперссылку с моими параметрами (чтобы использовать гиперссылку без URL) в RichTextBox?

Отображаемый текст выглядит так:

Некоторый начальный текст.Здесь должна быть гиперссылка: Link_Text.А вот текст после гиперссылки.Некоторый конечный текст.

RTF текст:

{\ rtf1 \ ansi \ ansicpg1251 \ deff0 \ deflang1058 \ deflangfe1058 \ deftab708 {\ fonttbl {\ f0 \ fswiss \ fprq2\ fcharset204 Calibri;} {\ f1 \ fswiss \ fprq2 \ fcharset0 Calibri;}} {\ colortbl; \ red0 \ green0 \ blue255;} {* \ generator Msftedit 5.41.21.2509;} \ viewkind4 \ uc1 \ pard \ nowidctlpar \ f0\ fs22 Некоторый начальный текст. \ par \ pard Здесь должна быть гиперссылка: {\ field {* \ fldinst {HYPERLINK "address"}} {\ fldrslt {\ cf1 \ ul Link_Text}}} \ cf0 \ ulnone \ f0 \ fs22.А вот текст после гиперссылки. \ Par Какой-то конец текста \ lang1033 \ f1. \ Lang1058 \ f0 \ par}

1 Ответ

2 голосов
/ 07 марта 2011

Я могу указать вам на то, что я сам не знаю, где это заканчивается. Это, конечно, один из моих вопросов о том, как мы можем использовать эту функцию гиперссылки для встраивания наших объектов в RTF. посмотрите, полезен ли следующий код:

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fnil\fcharset0 Calibri;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\vieww12000\viewh13860\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural

\f0\fs22 \cf0 Here are some start text, {\field{\*\fldinst{HYPERLINK "http://www.msn.com"}}{\fldrslt this is hyper link}} Here are some final text\
}

Скопируйте и вставьте его в редактор, например MacVim, и сохраните его как rtf, а затем откройте его с помощью MSWordPad или чего-то вроде TextEdit. это должно показать хорошо, где ссылка имеет другой текст. Теперь откройте его в richtextbox, и вы увидите, что он будет интерпретироваться по-разному: (.

Чтобы увидеть точку, следуйте этой теме .

...