| Компоненты TRichView для создания чата | |
TRichView включает компонент TRVChat, предназначенный для создания современных интерфейсов чата на основе движка форматированного текста TRichView.
Он позволяет отображать переписку в стиле популярных мессенджеров (таких как Telegram, WhatsApp или Viber) прямо в ваших приложениях Delphi или Lazarus.
Отображение сообщений
Сообщения показываются в пузырях (callouts), сгруппированных по автору и дате.
Каждое сообщение может содержать текст с гиперссылками, изображения или прикреплённые файлы.
Идущие подряд сообщения от одного пользователя визуально объединяются, чтобы избежать повторов и повысить читаемость.
Профили пользователей
Каждое сообщение связано с объектом пользователя, который определяет:
- имя и аватар пользователя;
- выравнивание сообщений (слева или справа);
- цвета пузырей, цитат и иконок файлов.
Взаимодействие
TRVChat предоставляет встроенную логику для:
- редактирования и удаления сообщений;
- ответов с цитатой или без;
- отображения статуса сообщений (отправлено, прочитано, ошибка);
- выделения сообщения для дальнейших действий (редактирование, удаление, цитирование и т.п.);
- поиска текста в истории чата.
Вложения и цитаты
Сообщения могут содержать прикреплённые изображения или файлы.
Можно прикрепить готовое изображение или вставить временную картинку-заполнитель, которую позже можно заменить – например, после загрузки картинки с сервера.
Иконки для вложенных файлов могут генерироваться автоматически или заменяться пользовательскими изображениями.
Цитаты могут показывать как фрагмент, так и полный текст цитируемого сообщения и автоматически обновляются, если исходное сообщение изменяется.
Настройка внешнего вида
Можно настроить все элементы оформления:
- форму пузырей, радиус скругления, тип и размер стрелки, тень;
- отступы между сообщениями и группами пользователей;
- шрифты, цвета и оформление строк даты и статуса;
- фоновое изображение.
Кроссплатформенность
TRVChat доступен для VCL, FireMonkey (все платформы) и Lazarus (Windows).
Интеграция
TRVChat работает как невизуальный контроллер, связанный с компонентом TRichView.
Он управляет содержимым и отображением, позволяя сосредоточиться на логике обмена сообщениями, сетевом взаимодействии и пользовательском интерфейсе.
Сетевые функции не входят в TRVChat – их можно реализовать с помощью любых подходящих библиотек, например RVMedia.
|