Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

Форматирование в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
8-1132999133
_Sergey_
2005-11-26 12:58
2006.04.30
Чтение тэгов из WMA и OGG


15-1144404237
BlackLumer
2006-04-07 14:03
2006.04.30
Где взять то благодаря чему


1-1143183057
Iton
2006-03-24 09:50
2006.04.30
Текст в HTML


15-1144413768
Std
2006-04-07 16:42
2006.04.30
delphi 2006+upx архиватор


1-1143456131
DelphiLexx
2006-03-27 14:42
2006.04.30
C эмулировать нажатие Ctrl+A





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский