CFE_LINK хранится в RTF RichEdit 3.0? - PullRequest
1 голос
/ 26 февраля 2010

Я использую MS TextServices для реализации безоконной обработки расширенного текста и настройки CFE_LINK для создания гиперссылок. Это все работает, но когда я сохраняю текст во внутренний буфер для записи в файл, эффект CFE_LINK не сохраняется.

Я (пытался) убедиться, что AutoDetectURL выключен.

Я использую EM_STREAMOUT для сохранения из редактора в буфер, поскольку UTF-8, так как RichEdit, похоже, не работает с Unicode.

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

1 Ответ

1 голос
/ 27 февраля 2010

Исходя из моего опыта, ответ вроде бы Нет. Элемент управления richedit создает форматирование гиперссылки на лету, но не сохраняет ее.

Шесть лет назад или около того я потратил много времени, пытаясь достичь того, что вы, вероятно, пытаетесь сделать, используя riched20.dll (в то время, версия 3 элемента управления richedit). Я хотел иметь «правильные» гиперссылки в приложении для ноутбука: URL будет помечен как скрытый текст, а текст описания будет подчеркнут и кликабелен. Лучшее, что я мог сделать, - это добиться этого во время выполнения, помечая произвольные участки текста с помощью CFE_LINK. После сохранения и перезагрузки потока rtf изменения исчезнут. Никакое количество вопросов не принесло пользы, хотя это было задолго до StackOverflow:)

Мое решение было бы заменить richedit сторонним элементом управления, таким как TRichView , который может делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...