Страница 1 из 1

Компонент TRichTextBox

СообщениеДобавлено: 24.03.2014 20:18:47
qivi
Компонент TRichTextBox
1.jpg


В продолжение: viewtopic.php?t=9767&view=unread#unread

Небольшой визуальный компонент предназначенный для вывода немного отформатированной текстовой информации. Протестировал с использованием сборок компилятора версий 2.7.x для: WinXP 32, Linux Mint 64 GTK и QT. Запилил для личых нужд, отдаю как есть, может кому пригодится. Внимание для корректной работы компонента под Linux (как GTK так QT), необходим лазарус с исправлением бага: http://bugs.freepascal.org/view.php?id=25909

Известные проблеммы:
1. Я пользуюсь сборками компилятора 2.7.x. Для того, что бы компонент работал на всех платформах, заменил тип строк на String, это под OS Linux приводит к некоректному парсингу и сответственно отрисовки в некоторых, вобщем то не типичных, случаях при условии нормального использования :( . До прихода FPC и Lazrus к общему знаменателю по строкам и юникоду...
2. В дизайнере компонент перерисовывается только при ресайзе.

RichTextBox.7z
(7.18 КБ) Скачиваний: 870

Re: Компонент TRichTextBox

СообщениеДобавлено: 24.03.2014 21:03:12
скалогрыз
отличное начало (на версию 1.0)

Следующий шаг - добавить форматирование внутри строки (чтобы совсем rich-text стало)
Следующий шаг - добавить расширенное (функциональное) форматирование (чтобы получились ссылки)
Следующий шаг - добавить внедрение произвольных объектов (картинки/контролы, т.п.).
Следующий шаг - добавить посимвольное позиционировние (чтобы можно было реализовывать выделение)
Завершаюший шаг - добавить редактирование (без поддержки право-левого писания)
Побочное задание - загрузка RTF
Релиз 2.0 (как результат - Word-pad-о подобное приложение)

Следующий шаг - разделить форматирование и отрисовку.
Следующий шаг - вынести объект форматирования отдельно.
Завершающий шаг - расширить возможности до расположения текста (колонки, произвольные квадраты)
Побочное задание - загрузка HTML (+css), OpenOffice и OpenDocument файлов
Релиз 3.0 (как результат - MS Office Word - подобное приложение, либо маленький барузер)

Следующий шаг - поддержка R2L
Следующий шаг - поддержка дополнительных методов ввода (для восточных языков)
Завершающий шаг - ????
Релиз 4.0 (как результат - PROFIT!!! )

P.S. от себя попрошу, кто-нибудь, пожалуйста, сделайте загрузку RTF для Linux (gtk/qt) для RichMemo.

Re: Компонент TRichTextBox

СообщениеДобавлено: 25.03.2014 09:57:27
qivi
скалогрыз, даже немного жаль тебя разочаровывать, но это не только первая версия но она же и финальная :) Но видя твои амбиции... я со спокойствием души за его развитие и будущее передаю его судьбу в твои руки :wink: .

Re: Компонент TRichTextBox

СообщениеДобавлено: 25.03.2014 19:22:45
скалогрыз
qivi писал(а):скалогрыз, даже немного жаль тебя разочаровывать, но это не только первая версия но она же и финальная :) Но видя твои амбиции... я со спокойствием души за его развитие и будущее передаю его судьбу в твои руки :wink: .

это не мои амбиции, это суровые реальности (требования) к любому компоненту, кто замахнётся на функционал форматированного текста.
так что я опёрся на готовые системные реализации (через RichMemo)

Re: Компонент TRichTextBox

СообщениеДобавлено: 26.03.2014 00:38:31
qivi
скалогрыз, сильно близко не принимай ))) Вижу у тебя тема эта живая (RichMemo ну или вообще полноценный редактор), но это не претензия даже отдалённая на редактор, это ровно то что есть. Обычно использовал мемо, но не хватало буквально заголовки выделить да выровнять блоки текста по разному ну плюс всегда глаз не радовало выравнивание не по ширине, недавно в одной программе запилил окно информации реализовав выдление заголовков и хотябы стандартные выравнивания блоков, но сделал это весьма извращённым способом. После чего решиля написать вот это, получилось ровно то что хотелось, небольшой компонент пригодный для вывода небольших текстов. Получилось на мой взгляд вполне законченно и немного повозившись с интеграцией для режима дизайнера (viewtopic.php?t=9767&view=unread#unread) я решил это выложить.

Re: Компонент TRichTextBox

СообщениеДобавлено: 02.02.2015 11:04:44
qivi
Надо же сколько скачиваний... я кстати этот компонент существенно дорабатывал и даже перерабатывал. Могу чуток попозже обновить.