| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > SynUniHighlighter и SynEdit > Мне не понятно как он так быстро красит... |
| Автор: tem@@@@@ 13.8.2005, 20:07 |
| Подскажите плмз, хоть убей но яне могу понять как можно было сделатьтакой быстрый компонент. Это я говорю потому-что просто пытался в РичЕдите сделать какую-нибудь подкраску и полуилось [censored 6] фигня, красить та красило но медленно. Обьяснте плиз подробно ваш алгоритм. Какой родтельский класс у вашего компонента???. |
| Автор: Vitalik 13.8.2005, 22:02 | ||||
TCustomControl
Подробно объяснять очень долго получится Глянь исходники. Будут вопросы - здесь тебе обязательно ответят |
| Автор: Fantasist 13.8.2005, 22:23 |
| Так собственно скорость подкраски обеспечивается SynEdit'ом. Он сам рисует текст. |
| Автор: Quadr0 13.8.2005, 22:24 |
| ... |
| Автор: Vitalik 13.8.2005, 22:26 | ||
Я говорил про TSynEdit |
| Автор: tem@@@@@ 14.8.2005, 09:48 |
| Цитата: Подробно объяснять очень долго получится Глянь исходники. Будут вопросы - здесь тебе обязательно ответят Я не думаю что там обычный програмист разберётся... |
| Автор: Quadr0 14.8.2005, 14:21 |
| ... |
| Автор: Vitalik 14.8.2005, 16:46 | ||||
Хе-хе А если честно, то и я, когда в-первые увидел этот замечательный компонент, думал, что разобраться в нём у меня никогда не получится. Очень рад, что ошибался
Обычный может и не разберётся Но ты попробуй. Ведь всегда самое сложное - это начать. И главное, чтобы было желание Может по мере разбора этих исходников ты перестанешь считать себя "обычным" программистом http://forum.sources.ru/smiles/Main/wink.gif Кстати, а какая у тебя мотивация? Ты хочешь написать аналогичный компонент? Или может хочешь помочь его доработать? Или же просто спортивное любопытство? P.S. Если хочешь, можешь http://forum.vingrad.ru/index.php?act=Reg&CODE=00 на этом форуме |
| Автор: tem@@@@@ 14.8.2005, 17:16 |
| Цитата: Кстати, а какая у тебя мотивация? Ты хочешь написать аналогичный компонент? Или может хочешь помочь его доработать? Или же просто спортивное любопытство? //-------------------------------------------------------------- Аналогичный конпонент я написать не хочу... Потому-что не имею опыт писать компоненты, так немножко понимаю. Скорее всего спортивное любопытство... //--------------------------------------------------------------- Если не трудно подскажите пожалуйста, что мне нужно чтобы не плавать в такого рода задач... //--------------------------------------------------------------- Есть книга по компонентам Фаронова, как считаете, если ее выучить понять, изучить, станет легче или нужно что-то ещё??. //---------------------------------------- Просто у меня на душе становится тяжесть когда я использую компоненты или исходники других, не понимая их. //------------------------------------------ И ещё: одному мне конечно не справиться, есть кто-нибудь кто хочет изучить код СинЕдита?!?!?!?!!! пишите: [email protected] |
| Автор: Vitalik 14.8.2005, 22:41 | ||||||||||
В какого рода задачах?.. Создание компонентов или реализация подсветки?..
В принципе, в создании компонентов нет ничего сверхособенного. Просто смотри на компонент как на реализацию какого-нибудь класса. Только и отличается тем, что он позволяет пихать себя в палитру компонентов и настраиваться с помощью инспектора объектов. Ну и естественно если класс наследует какой-нибудь визуальный класс, то ряд методов и свойств у него уже присутствует А вообще прочитай, конечно, Фаронова. Это будет очень полезно
Ага, очень знакомое чувство
Я есть Я сам полностью код СинЕдита не изучал, но в любом случае это будет и полезно, и интересно |
| Автор: tem@@@@@ 15.8.2005, 07:51 |
| Читата: В какого рода задачах?.. Создание компонентов или реализация подсветки?.. И того, и того. //----------------------------------------------------------------------- А так, Большое Спасибо. Поехал я, в смысле начал... |
| Автор: Vit 15.8.2005, 16:01 |
| В кратце работает так: В отличие от richedit никаких аттрибутов текста не меняется, красится тот текст который виден на экране, просто изменяется прорисовка видимого текста, сам же текст хранится как обычный текст. В ричэдите если ты поменял цвет то должен изменить весь текст... Здесь же текст не меняется, меняется только то как красится паракилобайтов видная на экране. |