Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.128.129] |
|
Сообщ.
#1
,
|
|
|
Появился ли в новых Delphi аналог RichEdit? Где уже был бы встроен механизм запуска\открытие URL при клике?
|
Сообщ.
#2
,
|
|
|
Это обертка над виндовым контролом. Так что есть такое https://msdn.microsoft.com/ru-ru/library/wi...v=vs.85%29.aspx
|
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
MBo
Спасибо, значит всеже RichEdit |
Сообщ.
#5
,
|
|
|
Есть же сторонние компоненты - бесплатные RX/JVCL RichEdit, платный TRichView - может, они умеют правильно со ссылкми работать (я не пробовал)
|
Сообщ.
#6
,
|
|
|
MBo
это да, но неужели за 15 лет ничего нового в самом delphi Не добавили? |
Сообщ.
#7
,
|
|
|
Зачем поддерживать свой контрол, когда можно переложить заботу о нем на микрософт?
|
Сообщ.
#8
,
|
|
|
EM_GETEVENTMASK нет или в Win 7 или в новой delphi |
Сообщ.
#9
,
|
|
|
Цитата ^D^ima @ EM_GETEVENTMASK нет или в Win 7 или в новой delphi uses RichEdit; |
Сообщ.
#10
,
|
|
|
Цитата ^D^ima @ это да, но неужели за 15 лет ничего нового в самом delphi Не добавили? Может руки не доходят ещё, а может стратегия у них такая, что типа стандартный набор контролов это чисто так для поиграться, а для реальных разработок милости просим покупайте дорогие наборы аля DevExpress, TMS, и тд (кстати в этих наборах не плохая альтернатива ричу с тем что вы ищете и не только). Всёжь дорогущую рад студию не бедняки покупают себе, а для бедняков есть пиратские версии По поводу рича, есть альтернатива хорошая Trichview.com, правда он платный, хотя в сети есть и пиратская версия. |
Сообщ.
#11
,
|
|
|
Все работает(ссылка подсвечивается и нажимается) за исключением того, что перестал работать код, который скролит вниз текст: with RichEdit1 do begin SelStart := Length(Text); Perform(EM_SCROLLCARET, 0, 0); end; Из-за uses richedit такое происходит. Как только убираю, скрол работает, с uses не работает... как быть? Добавлено так заработало: perform(WM_VSCROLL, SB_BOTTOM, 0); |
Сообщ.
#12
,
|
|
|
RichEdit
EM_SCROLLCARET = WM_USER + 49; Messages EM_SCROLLCARET = $00B7; Видимо, для имитации richedit-ом обычного edit. Для исправления достаточно вставить префикс юнита: Perform(Messages.EM_SCROLLCARET, 0, 0); |
Сообщ.
#13
,
|
|
|
Цитата Fr0sT @ Для исправления достаточно вставить префикс юнита: Perform(Messages.EM_SCROLLCARET, 0, 0); Или переставить местами модули в uses - сначала RichEdit, потом Messages PS: Не знаю, зачем MS понадобилось дублировать некоторые сообщения для RichEdit с другим кодом, но у них эти константы объявлены с условием #ifndef, поэтому при одновременном использовании модулей winuser и richedit, всегда "побеждают" константы из winuser независимо от порядка подключения этих модулей. А в дельфийском RichEdit эти константы объявлены "жестко", без условия $IF Declared(...), поэтому и возникают глюки, если RichEdit в uses идет после модуля Messages (или вообще без него) |