| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Hyperlinks in RichEdit |
| Автор: Vit 2.9.2005, 21:50 |
| Использую RichEdit от JVCL, так как нужна возможность использования гиперлинков, но есть ложка дёгтя - нужна возможность указания адреса гиперлинка отличного от того что написано в тексте. Например в одном месте хочу чтобы переход по гиперлинку со словом "поиск" происходил на yahoo.com, а в другом месте на yandex.com. Все компоненты которые я видел предоставляют возможность в гиперлинках в rtf отлавливать только текст, а не линк... как бы сие прикрутить? |
| Автор: Rrader 3.9.2005, 07:33 | ||||||
| Delphi щас под рукой нет, но могу рассказать принцип данного действия в обычном RichEdit'е. Значит, нам нужно сделать обработчик нажатия гиперссылки примерно так:
Затем при созданни формы нужно RichEdit'у послать мессаги, которые отключат автоопределение URL-адресов (по умолчанию отключено), затем послать такую, кажись мессагу, чтобы включить линки:
Затем нужно подготовить структуру CHARFORMAT2: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/richedit/richeditcontrols/richeditcontrolreference/richeditstructures/charformat2.asp И затем послать сообщение http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/richedit/richeditcontrols/richeditcontrolreference/richeditmessages/em_setcharformat.asp. Не помню ,к сожалению, третьего параметра. Структура обязана содержать следующие флаги:
Еще нужно установить синий цвет - это смотреть в полях crTextColor. Удачи! |
| Автор: Quadr0 3.9.2005, 14:50 |
| ... |