Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > SynUniHighlighter и SynEdit > Мне не понятно как он так быстро красит...


Автор: tem@@@@@ 13.8.2005, 20:07
Подскажите плмз, хоть убей но яне могу понять как можно было сделатьтакой быстрый компонент.
Это я говорю потому-что просто пытался в РичЕдите сделать какую-нибудь подкраску и полуилось [censored 6] фигня, красить та красило но медленно. Обьяснте плиз подробно ваш алгоритм.
Какой родтельский класс у вашего компонента???.

Автор: Vitalik 13.8.2005, 22:02
Цитата(tem @ 13.8.2005, 20:07)
Какой родтельский класс у вашего компонента???.

TCustomControl smile

Цитата(tem @ 13.8.2005, 20:07)
Обьяснте плиз подробно ваш алгоритм.

Подробно объяснять очень долго получится smile
Глянь исходники. Будут вопросы - здесь тебе обязательно ответят smile

Автор: Fantasist 13.8.2005, 22:23
Так собственно скорость подкраски обеспечивается SynEdit'ом. Он сам рисует текст.

Автор: Quadr0 13.8.2005, 22:24
...

Автор: Vitalik 13.8.2005, 22:26
Цитата(Quadr0 @ 13.8.2005, 22:24)
TSynCustomHighlighter вообще-то, разве нет?

Я говорил про TSynEdit smile

Автор: tem@@@@@ 14.8.2005, 09:48
Цитата:
Подробно объяснять очень долго получится
Глянь исходники. Будут вопросы - здесь тебе обязательно ответят


Я не думаю что там обычный програмист разберётся...

Автор: Quadr0 14.8.2005, 14:21
...

Автор: Vitalik 14.8.2005, 16:46
Цитата(Quadr0 @ 14.8.2005, 14:21)
Мы же разобрались

Хе-хе smile Может мы не обычные? smile
А если честно, то и я, когда в-первые увидел этот замечательный компонент, думал, что разобраться в нём у меня никогда не получится. Очень рад, что ошибался smile

Цитата(tem @ 14.8.2005, 09:48)
Я не думаю что там обычный програмист разберётся...

Обычный может и не разберётся smile
Но ты попробуй. Ведь всегда самое сложное - это начать. И главное, чтобы было желание smile
Может по мере разбора этих исходников ты перестанешь считать себя "обычным" программистом http://forum.sources.ru/smiles/Main/wink.gif

Кстати, а какая у тебя мотивация? smile
Ты хочешь написать аналогичный компонент? Или может хочешь помочь его доработать? Или же просто спортивное любопытство? smile

P.S. Если хочешь, можешь http://forum.vingrad.ru/index.php?act=Reg&CODE=00 на этом форуме smile

Автор: tem@@@@@ 14.8.2005, 17:16
Цитата:
Кстати, а какая у тебя мотивация?
Ты хочешь написать аналогичный компонент? Или может хочешь помочь его доработать? Или же просто спортивное любопытство?


//--------------------------------------------------------------

Аналогичный конпонент я написать не хочу... Потому-что не имею опыт писать компоненты, так немножко понимаю.

Скорее всего спортивное любопытство...

//---------------------------------------------------------------

Если не трудно подскажите пожалуйста, что мне нужно чтобы не плавать в такого рода задач...

//---------------------------------------------------------------
Есть книга по компонентам Фаронова, как считаете, если ее выучить понять, изучить, станет легче или нужно что-то ещё??.

//----------------------------------------

Просто у меня на душе становится тяжесть когда я использую компоненты или исходники других, не понимая их.

//------------------------------------------

И ещё: одному мне конечно не справиться, есть кто-нибудь кто хочет изучить код СинЕдита?!?!?!?!!!

пишите: [email protected]


Автор: Vitalik 14.8.2005, 22:41
Цитата(tem @ 14.8.2005, 17:16)
Если не трудно подскажите пожалуйста, что мне нужно чтобы не плавать в такого рода задач...

В какого рода задачах?.. Создание компонентов или реализация подсветки?..

Цитата(tem @ 14.8.2005, 17:16)
Есть книга по компонентам Фаронова, как считаете, если ее выучить понять, изучить, станет легче или нужно что-то ещё??.

В принципе, в создании компонентов нет ничего сверхособенного.
Просто смотри на компонент как на реализацию какого-нибудь класса. Только и отличается тем, что он позволяет пихать себя в палитру компонентов и настраиваться с помощью инспектора объектов. Ну и естественно если класс наследует какой-нибудь визуальный класс, то ряд методов и свойств у него уже присутствует smile
А вообще прочитай, конечно, Фаронова. Это будет очень полезно smile

Цитата(tem @ 14.8.2005, 17:16)
Просто у меня на душе становится тяжесть когда я использую компоненты или исходники других, не понимая их.

Ага, очень знакомое чувство smile

Цитата(tem @ 14.8.2005, 17:16)
Скорее всего спортивное любопытство...
Цитата(tem @ 14.8.2005, 17:16)
И ещё: одному мне конечно не справиться, есть кто-нибудь кто хочет изучить код СинЕдита?!?!?!?!!!

Я есть smile
Я сам полностью код СинЕдита не изучал, но в любом случае это будет и полезно, и интересно smile

Автор: tem@@@@@ 15.8.2005, 07:51
Читата:
В какого рода задачах?.. Создание компонентов или реализация подсветки?..


И того, и того. smile

//-----------------------------------------------------------------------

А так, Большое Спасибо.

Поехал я, в смысле начал... smile

Автор: Vit 15.8.2005, 16:01
В кратце работает так:

В отличие от richedit никаких аттрибутов текста не меняется, красится тот текст который виден на экране, просто изменяется прорисовка видимого текста, сам же текст хранится как обычный текст. В ричэдите если ты поменял цвет то должен изменить весь текст... Здесь же текст не меняется, меняется только то как красится паракилобайтов видная на экране.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)