|
<< Нажмите, чтобы показать Содержание >>
|
Этот компонент предназначен для отображения чата с возможностью добавлять, редактировать и удалять сообщения, а также отвечать на них. Сообщения могут содержать прикреплённые изображения или файлы.
Это невизуальный компонент, который связывается с компонентом TRichView и управляет его содержимым и отображением.
Модуль [VCL/FMX] RVChat / fmxRVChat.
Синтаксис
TRVChat = class(TComponent)
TObject
TPersistent
TComponent
Чтобы чат выглядел привлекательно, границы линий и областей должны быть сглажены. В версии FireMonkey для мобильных платформ рекомендуется использовать Skia4Delphi. В версиях VCL и Lazarus рекомендуется включить рисование с помощью GDI+ (для Delphi XE2 и новее добавьте модуль RVGDIPlusGrIn в секцию uses; для Lazarus — RVGDIPlusGrInLaz).
Присвойте свойству ChatRichView компонент TRichView, в который будут добавляться сообщения.
Задайте нужные значения свойств, влияющих на внешний вид чата, а затем вызовите метод AddStyles (это необходимо сделать до начала работы с чатом).
Заполните коллекцию Users.
Добавляйте сообщения по одному с помощью метода AddMessage.
Обрабатывайте щелчки мышью в чате и назначайте свойство HighlightedMessage.
Используйте HighlightedMessage для реализации редактирования сообщений, ответов, цитирования и удаления:
▪редактирование: ChangeMessageText;
▪ответ и цитирование: используйте объект TRVChatMessageExtraQuote при следующем вызове AddMessage;
▪удаление: DeleteMessage или MarkMessageAsDeleted.
Приведённые выше инструкции описывают основные операции, доступные в чате. Чтобы подробнее ознакомиться с возможностями, см. описания свойств, методов и событий, а также демонстрационный проект в папке Assorted\Chat\.
Чат предназначен для отображения на экране. Не следует пытаться печатать ChatRichView на принтере.
Для отображения файла, прикреплённого к сообщению, используется специальный тип элемента документа TRVChatFileItemInfo (StyleNo = rvsChatFile).
Каждое сообщение представляет собой один абзац, который может содержать переводы строк. Чат автоматически распознаёт URL в тексте.
По умолчанию TRVChat использует Google Material Symbols and Icons для значков прикреплённых файлов.
Google Material Symbols and Icons распространяются по лицензии Apache, версия 2.0 («Лицензия»):
Вы можете использовать их только в соответствии с условиями Лицензии. Копию Лицензии можно получить по адресу: http://www.apache.org/licenses/LICENSE-2.0 Если иное не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по этой Лицензии, предоставляется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ И УСЛОВИЙ, явных или подразумеваемых. Подробные условия, касающиеся разрешений и ограничений, приведены в тексте Лицензии. |
Если вы не согласны с этими условиями, вы можете использовать TRVChat без прикреплённых файлов или предоставить собственные значки.
Отображение чата работает некорректно в Lazarus для Linux, поскольку его канва не содержит необходимых методов (вместо заполненных фигур будут отображаться только контуры).