На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Аналог RichEdit в сомременных Delphi
    Появился ли в новых Delphi аналог RichEdit? Где уже был бы встроен механизм запуска\открытие URL при клике?
      Это обертка над виндовым контролом. Так что есть такое https://msdn.microsoft.com/ru-ru/library/wi...v=vs.85%29.aspx
          MBo
          Спасибо, значит всеже RichEdit
            Есть же сторонние компоненты - бесплатные RX/JVCL RichEdit, платный TRichView - может, они умеют правильно со ссылкми работать (я не пробовал)
              MBo
              это да, но неужели за 15 лет ничего нового в самом delphi Не добавили?
                Зачем поддерживать свой контрол, когда можно переложить заботу о нем на микрософт?
                  Цитата MBo @

                  EM_GETEVENTMASK нет или в Win 7 или в новой delphi
                    Цитата ^D^ima @
                    EM_GETEVENTMASK нет или в Win 7 или в новой delphi

                    uses RichEdit;
                      Цитата ^D^ima @
                      это да, но неужели за 15 лет ничего нового в самом delphi Не добавили?


                      Может руки не доходят ещё, а может стратегия у них такая, что типа стандартный набор контролов это чисто так для поиграться, а для реальных разработок милости просим покупайте дорогие наборы аля DevExpress, TMS, и тд (кстати в этих наборах не плохая альтернатива ричу с тем что вы ищете и не только). Всёжь дорогущую рад студию не бедняки покупают себе, а для бедняков есть пиратские версии :)

                      По поводу рича, есть альтернатива хорошая Trichview.com, правда он платный, хотя в сети есть и пиратская версия.
                        Цитата MBo @

                        Все работает(ссылка подсвечивается и нажимается) за исключением того, что перестал работать код, который скролит вниз текст:
                        ExpandedWrap disabled
                            with RichEdit1 do
                            begin
                              SelStart := Length(Text);
                              Perform(EM_SCROLLCARET, 0, 0);
                            end;


                        Я так думаю это из-за того что обработчик сообщений переопределен: procedure WndProc(var Msg: TMessage); override;
                        Из-за uses richedit такое происходит. Как только убираю, скрол работает, с uses не работает... :(

                        как быть?

                        Добавлено
                        так заработало:
                        ExpandedWrap disabled
                                  perform(WM_VSCROLL, SB_BOTTOM, 0);
                        Сообщение отредактировано: ^D^ima -
                          RichEdit
                          EM_SCROLLCARET = WM_USER + 49;
                          Messages
                          EM_SCROLLCARET = $00B7;

                          Видимо, для имитации richedit-ом обычного edit. Для исправления достаточно вставить префикс юнита: Perform(Messages.EM_SCROLLCARET, 0, 0);
                            Цитата Fr0sT @
                            Для исправления достаточно вставить префикс юнита: Perform(Messages.EM_SCROLLCARET, 0, 0);

                            Или переставить местами модули в uses - сначала RichEdit, потом Messages

                            PS: Не знаю, зачем MS понадобилось дублировать некоторые сообщения для RichEdit с другим кодом, но у них эти константы объявлены с условием #ifndef, поэтому при одновременном использовании модулей winuser и richedit, всегда "побеждают" константы из winuser независимо от порядка подключения этих модулей. А в дельфийском RichEdit эти константы объявлены "жестко", без условия $IF Declared(...), поэтому и возникают глюки, если RichEdit в uses идет после модуля Messages (или вообще без него)
                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                            0 пользователей:


                            Рейтинг@Mail.ru
                            [ Script execution time: 0,0310 ]   [ 16 queries used ]   [ Generated: 23.04.24, 12:53 GMT ]