Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с цветом текста в CEditView  (Прочитано 11219 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« : 12-04-2007 16:59 » 

Возможно ли такое.
Хочется подсветку кода добавить довольно специфическую, а вот как цвета поменять???
Если такого нет - может какой готовый преобразованый класик есть?
Записан

А птичку нашу прошу не обижать!!!
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 12-04-2007 22:53 » 

С простым Еdit сложно будет замутить, лучше с RichEdit. Ну или своё мутить.

Посмотри вот это:
http://www.codeguru.com/cpp/controls/editctrl/editors/article.php/c525/

а вобще-то рекомендую

http://www.codeguru.com/cpp/controls/editctrl/editors/article.php/c509/
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #2 : 15-04-2007 08:20 » 

Посмотрел.
Первый проект собирается и даже пытается запуститься.
Есть маленькие недоделки типа - имя библиотеки подгружающейся ан стадии линковки не то, которое получается в результате билда.
На сборке при использовании Трейс сообщений есть синтакисческие!!! ошибки.
Кроме того при запуске ничерта не заработало- постоянное несанкционированное обращение к памяти или к реджистри.
Не верю, что люди выкладывающие такой код могут написать что-то стоящее...

Второй проект без проектных файлов вообще и в принципе даже не стал смотреть 0 ИМХО бред.
Рич едитор - ну не так уж хорошо, если учесть, что редактор используется для редактирования простых файлов текстовых, которые потом парсятся. Можно попробывать но как-то мне не очень эта идея нравится.... А что с Едитором никак?
Записан

А птичку нашу прошу не обижать!!!
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 18-04-2007 11:14 » 

Хммм Не понял рекцию? Чего ты ждал? Ни на codeguru, ни на codeproject, аки на других ресурсах никто никогда (за редким исключением) не выкладывал халявные проекты с полным саппортом. Люди делятся идеей, может ищут помощи при тестировании. Для этого есть обсуждение, мыло, если хочется чего-то большего - можно связаться и выяснить.
Про проект Андрея Щербаченко - ты не прав. Классы очень сильные и они использовались (надеюсь и по сей день используются) во многих проектах из больших можешь глянуть:

http://www.toolscenter.org/contributors.html
http://winmerge.org/

Многие до сих пор недоумевают, как такое можно выкладывать на халяву? Ессно, в коде есть баги, но технические, а не "идейные". К плюсам также надо отнести некоторые встроенные передовые (для того времени - 1998 год) фичи - перенос/копирование выделения с d-n-d, "глубокий" откат, встроенный диалог поиска/замены, ни и главное - скорость. Даже на слабых системах работает без проблем - в моём случае это был P90 8Mb RAM

Ну да ладно, фиг с ним, "ближе к телу, как говорил Мопассан" (с)

Думаю с простым не получится. Всё дело в философии. Простой едит содержит буфер с текстом и параметры отрисовки всего буфера. Тебе же надо распарсить текст на ключевые слова (ну или по другому алгоритму), короче установить границы начала и конца определённого цвета, для этго тебе нужно будет в буфер ввести дополнительную инфу. Причём самоя большая сложность будет - сохранять эту инфу при редактировании буфера. Если бы тебе требовалось только отображать текст, можно было бы обойтись простым парсером слов и DrawText, но ведь тебе наверняка хочется его изменять, иначе это был бы не едит? А тексты вобще большие планируется использовать?
« Последнее редактирование: 18-04-2007 11:18 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #4 : 23-04-2007 08:36 » 

Джон, не понял ты действительно Улыбаюсь
Я не ругаю проекты, я пытался честно запустить один из проектов в результате он у меня не собрался. Скомпилированные библиотеки отличаются по имени от загружаемых.
Ведь тот кто выкладывал проект - он выкладывал собирающийся проект, а выходит, что нет. Жаль

Тексты мне не нужны очень большие - скрипты мои.
Вопрос стоит так: мне хотелось бы иметь только простенький едитор имеющий возможность при открывании файла на основе меток - моего парсера например, создавать простые тексты с разноцветным отображением частей текста, но метки при этом использовать только для отображения, а не для сохранения. При такой возможности CEdit подходил бы идеально.
А возится с идиотским и устаревшим ОЛЕ в Рич Едите для того, что бы пытаться сделать что-то большее чем простое хранение текста, это вот и не нравится....

Да и еще, у меня свой синтакиси, который надо подсветить - не стандартный...
« Последнее редактирование: 23-04-2007 08:40 от Гром » Записан

А птичку нашу прошу не обижать!!!
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 23-04-2007 16:21 » 

Прошу прощения, но не просветите ли меня при чем тут ОЛЕ? Я на полном серьезе.
Записан

ещё один вопрос ...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 24-04-2007 08:33 » 

Саш, посмотри вот это

http://www.scintilla.org/

это библиотека.

Вот тут пример использования - текстовый редактор на её основе SciTE

http://scintilla.sourceforge.net/SciTEDownload.html

я предпочитаю инсталлер отсюда.
http://gisdeveloper.tripod.com/scite.html

А по-простому... Может тебе тогда разграничить редактирование-отображение?

Типа такой схемы:

1. Нормальный текстовый редактор - набор просто текста
2. По окончании редактирования (закрытие редактора) - парсинг текста с расставлением спец меток ну или другой алгоритм
3. Отображение цветного текста
4. При переходе в режим редактирования - получить из буфера чистый текст (без меток - это могут быть любые непечатные метки - например ESC 01) и открытие его в нормальном редакторе CEdit -> goto p.1.

Сохранять можно как простой текст, а парсить только динамически перед каждым отображением.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines