Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Форматирование в Trichedit   Найти похожие ветки 

 
Gydvin ©   (2006-04-12 08:36) [0]

Как бы узнать шрифт, размер, цвет и т.п у отдельно взятого символа в Trichedit, при условии что там стоит текст с разным форматированием.
Всякие там SelAttributes, SelStart, SelLength и т.п. в их явном или не явном использовании не подойдут, как и соответствующии им winApi и message. То есть недолжно быть какого либо управления извне только чтение, просто текст может быть длинный, а в результате процедура будет ну очень долго выполняться. У меня пока только одна идея, создать класс, который бы работал с rtf  кодом. Но может я просто изобретаю велосипед?


 
MBo ©   (2006-04-12 08:41) [1]

>Всякие там SelAttributes, SelStart, SelLength и т.п. в их явном или не явном использовании не подойдут, как и соответствующии им winApi и message.

Непонятное ограничение...


 
Gydvin ©   (2006-04-12 08:57) [2]

Как бы сказать, пишу компоненту, и мне для правильной ее работы необходимо знать форматирование (вплоть до высоты строки) вводимого текста, а также вставляемого из Clipboard"a. Теперь смотрим дальше, уже есть большой объем текста при дальнейшем наборе, пока "SelStart" оббежит все символы (даже если проверять только видимые строки), проходит очень много времени, кроме этого в этой процедуре есть и вспомогательные функции, которые тоже требует времени, но с этим все ровно, основной тормоз "SelStart" и компания.

А, еще вопрос какое событие возникает, если в активном Trichedit (текст там есть) нажать левую клавишу мыши и покрутить колесико, оно как бы маштабируется? Хочу это убить.


 
MBo ©   (2006-04-12 09:08) [3]

>пока "SelStart" оббежит все символы
Не понимаю - в вопросе было про отдельный символ, а теперь про весь текст.

>маштабируется? Хочу это убить.
Видимо, EM_SETZOOM ловить нужно.


 
Gydvin ©   (2006-04-12 09:27) [4]

Не понимаю - в вопросе было про отдельный символ, а теперь про весь текст.

Щас будет про группу :))))))

короче на основе trichedit пишу компоненту, для проверки орффографии, а конкретнее отображение ошибок, хочу сделать волнистую линию, как в worde, в принципе уже сделал. Но вся проблема в том, что вставленный через буфер обмена текст может содержать разное форматирование и в результате линия рисуется не там где нужно. Проверка орффографии (всего текста) и предварительная отрисовка ошибок происходит по onchange, дополнительная отрисовка по скролингу (указание где рисовать берется из буфера-хранилища). Теперь ситуевена скролишь ты значит скролишь и тут попадается текст с нестандартным форматированием и линия рисуется где попало. Теперь, как вариант использование "SelAttributes" в процессе скролинга, я считаю не самая лучшая идея, да и тормозит сильно.


 
Gydvin ©   (2006-04-12 12:00) [5]

Ага, придется значит лепить собственный класс  (((((



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1143296623
Любопытствующий
2006-03-25 17:23
2006.04.30
Описания функций в справке Borland Delphi


2-1144849467
que
2006-04-12 17:44
2006.04.30
GetMem&Buffer of data


2-1144813917
Дырчик
2006-04-12 07:51
2006.04.30
Модальные формы в MDI


11-1125313791
DmiSb
2005-08-29 15:09
2006.04.30
Медленная обработка события OnKeyUp в EditBox


1-1143313487
Kolan
2006-03-25 22:04
2006.04.30
Приведение и сравнение типов.