Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, Воронков Василий, Вы писали:
ВВ>>Возникает естественный вопрос, при чем здесь тогда фреймворк?
L>Если присмотреться, там есть врапер под нет.
Враппер-то есть, но вопрос-то вроде о том как это сделать _средствами_фреймворка_. А то хм получается, что вроде бы средствами фреймворка и нельзя.
... << RSDN@Home 1.1 beta 1 >>
Re: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Враппер-то есть, но вопрос-то вроде о том как это сделать _средствами_фреймворка_. А то хм получается, что вроде бы средствами фреймворка и нельзя.
Если ограничиваться только средствами .Net Framework, то придется возиться с RichTextBox.SelectionColor, что некрасиво, т.к. текст противно "подмаргивает".
Можно задействовать WinAPI и Text Object Model, тогда все рисуется пристойно, но это уже выход за пределы Framework.
P.S. собственно покрасить текст -- это четверть дела. Проблема в том, как это делать по-умному, т.е. парсить при редактировании не весь текст, а только то, что нужно, разумно реагировать на ошибки синтаксиса, неизбежные при редактировании (вроде отсутствия парной кавычки), и т.д. и т.п. Scintilla более-менее с этими задачами справляется, так что можно хотя бы посмотреть, как это делается, если что-то не придумывается. Другой важный плюс Scintill'ы -- очень либеральная лицензия.
Re[6]: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, Алексей Владимирович Миронов, Вы писали:
АВМ>Если ограничиваться только средствами .Net Framework, то придется возиться с RichTextBox.SelectionColor, что некрасиво, т.к. текст противно "подмаргивает".
Какие ж это средства фреймворка? RichEdit такой же нативный контрол.
Здравствуйте, Воронков Василий, Вы писали:
ВВ>Враппер-то есть, но вопрос-то вроде о том как это сделать _средствами_фреймворка_. А то хм получается, что вроде бы средствами фреймворка и нельзя.
А тебя не напрягает, что все, кроме кнопки, контролы ВинФормсов сделаны как обертки над Виндузными? Типа тоже ведь не средствами...
Вобщем, если тебе ехать, бери Синтинелу... обертку к ней (лучше не там, а из Хоума) и пользуйся. Ведь подсветка синтаксиса вещь доволно сложная. Ну, а если шашачки, то пиши свой редактор, создавай уродцев на рич-эдите (правда он тоже не средствами фрэймворка...)...
... << RSDN@Home 1.1 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Алексей Владимирович Миронов, Вы писали:
VD>Кстати, если только на чтение, то можно и IE задействовать. Но поять таки IE не часть фрэймворка.
Если только на чтение, то можно как раз сделать исключительно средствами фреймворка — парсить текст и прорисовывать его вручную. Под "средствами фв" я имею в виду не некий 100% межплатформенный код, но код, который _напрямую_ не обращается к системным функциям, но обращается к ним посредством классов ФСЛ.
... << RSDN@Home 1.1 beta 1 >>
Re[8]: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Воронков Василий, Вы писали:
ВВ>>_напрямую_ не обращается к системным функциям, но обращается к ним посредством классов ФСЛ.
AVK>Т.е. если я отнаследуюсь от скажем TextBox то это уже не будет средствами фреймворка?
Гм, я же написал _посредством_ классов ФСЛ. Я просто имею в виду не вызывать напрямую апи-функции.
... << RSDN@Home 1.1 beta 1 >>
Re[10]: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Воронков Василий, Вы писали:
ВВ>> Гм, я же написал _посредством_ классов ФСЛ. Я просто имею в виду не вызывать напрямую апи-функции.
AVK>Т.е. если я перекрываю только CreateParams то это уже средствами фреймворка, несмотря на то что при этом реально контролом может быть та же сцинтилла?
Сцинтилла не является частью фреймворка.
... << RSDN@Home 1.1 beta 1 >>
Re[12]: Как бы лучше осуществить подсветку синтаксиса?
Здравствуйте, Воронков Василий, Вы писали:
AVK>>Т.е. если я перекрываю только CreateParams то это уже средствами фреймворка, несмотря на то что при этом реально контролом может быть та же сцинтилла?
ВВ> ВВ> Сцинтилла не является частью фреймворка.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Воронков Василий, Вы писали:
AVK>>>Т.е. если я перекрываю только CreateParams то это уже средствами фреймворка, несмотря на то что при этом реально контролом может быть та же сцинтилла?
ВВ>> ВВ>> Сцинтилла не является частью фреймворка.
AVK>А Win32 RichEdit контрол тоже не является.
Странный спор. Но RichTextBox ведь является частью фреймворка.
... << RSDN@Home 1.1 beta 1 >>
Re[2]: Как бы лучше осуществить подсветку синтаксиса?