|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.12.2010, 11:57 | #1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Алгоритм создания TEdit.
В общем, т.к. завершил создание кнопок по одной команде, их обработку и прочее, решил заняться следующей важной элементарной частицей IT мира - полем TEdit (для начала - одностроковым). Как-то смутно вырисовывается алгоритм его создания (имею в виду не часть вывода, а внутреннюю структуру). Это осложняется тем, что я хочу сделать TRichEdit - поддержку разных цветов и шрифтов, а далее и вставку изображений с гиперссылками.
Буду рад, если натолкнете на мысль. Пока план, имеющийся в наличии такой: 1) Рисуется текстура "фона" : - Либо стандартная: - Либо любая пользовательская: 2) В строке типа String хранится вся информация о содержимом - текст + спецразметка для вставки дополнительных фич типа ссылок, другого шрифта и пр. 3) Начиная с первого символа парсится строка и на спецтекстуре (промежуточной, размером с текстуру из пункта 1.) рисуется текст (координаты первого символа зависят от текущего активного символа в поле и могут быть отрицательными) и фичи. 4) Промежуточная рисуется поверх фона. В чем минусы подхода и что изменить?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
05.12.2010, 12:25 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Насчет минусов... постарайся сделать парсинг такого один раз, а не каждый раз при отрисовке.
I'm learning to live...
|
|
05.12.2010, 12:28 | #3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Наверное потому, что это будет адский труд, портировать все спецификации HTML. Думаю, что после такого извращения dll разрастется килобайт на 300.
Или Вы имеете в виду портировать только нужные?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
05.12.2010, 12:32 | #4 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Вы надеюсь понимаете что смешали две совсем разные части HTML/или какая то другая разметка и сам контрол Edit/TextBox/TextField ?
Создаете иерархию. Дочерний элемент содержит общие поля, от него наследуются классы картинка, ссылка, текст и другие элементы. Сам котрол имеет список дочернего элемента. Таким образом у вас хранится в одном списке вся структура совершенно различных элементов. Логику разметки на текстуре, можно взять как уже сказали, от HTML. Но делать структуру хранения на основе String, само убийство, о скорости и подвижности (перемещения, удаления, редактирования) можно сразу забыть. |
05.12.2010, 12:41 | #5 | ||
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 05.12.2010 в 12:47. |
||
05.12.2010, 12:45 | #6 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
Код:
|
|
05.12.2010, 12:52 | #7 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
А сами элементы списка где хранить?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
05.12.2010, 12:58 | #8 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Стоп, как это без классов?
По моему ООП чуть ли не наиболее удачно подходит для таких штук. |
05.12.2010, 12:59 | #9 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Сравните фреймворк размером 26 кб или 300
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
05.12.2010, 13:33 | #10 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Разве 200 кило при текущем уровне техники- много?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм создания генеалогического древа | NSV | Общие вопросы Delphi | 22 | 08.06.2018 04:58 |
алгоритм создания частотного словаря (двумерные массивы) | Blueyeska | Помощь студентам | 1 | 09.06.2010 17:31 |
Алгоритм создания дерева Delphi | VadEr | Помощь студентам | 5 | 03.11.2009 08:45 |
TEdit | green | Компоненты Delphi | 17 | 16.03.2008 07:13 |