| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Подсветка в редакторе |
| Автор: Aehn 7.8.2008, 09:41 |
| В книге Зубкова дан пример редактора. Всего 7 кб. Какими средствами там можно было бы добавить подсветку, кто знает? |
| Автор: AndNot 7.8.2008, 14:00 |
| Зубкова не читал, но редакторы действуют одинаково - построчно выводят текст на экран. Вот в процедуру вывода строки и встраивают ее парсинг и на ключевые слова и соответствующую подсветку. Можно, дополнительно, вставить подсветку слова под курсором, т.е. когда пользователь нажал клавишу, то определяем, где находится курсор и слово под ним, его и подсвечиваем, но это геморно, особенно при наличии многострочных коментариев. Так, что однозначно лучше реализовать подсветку строк целиком, тем более правила выделения ключевых слов более-менее одинаковы почти у всех популярных языков. Да и скорость вполне приемлимая. |
| Автор: Aehn 7.8.2008, 14:27 |
| Это все и так ясно. Меня интересует сам механизм подсветки на низком уровне. Как сделать группу символов определенного цвета, отличного от других. |
| Автор: AndNot 7.8.2008, 15:11 |
| Зависит от системы. Я же не знаю, для какой он пример приводил |
| Автор: Aehn 8.8.2008, 08:16 |
| Речь идет о Windows Зубков "Программирование на языке ассемблер под ДОС Виндоуз Юних" Пример дан под винды. нормальный редактор такой, весит в четыре раза меньше стандартного ноутпада. Вопрос, какими средствами там можно было бы сделать подсветку? |
| Автор: airyashov 8.8.2008, 09:55 |
| Вопрос надо ставить по другому, как в стандартном Windows окне класса Edit сделать подстветку. |
| Автор: ИванМ 1.10.2008, 19:24 |
| Подсветку делать геморойно. В стандартном текстовом поле можно попытаться делать подсветку в событии WM_PAINT в узеской оконной функции. Но это не выход. Класс EDIT Windows рисует операционной системой без подсветки, и единственное что можно - это поверх нарисованных букв рисовать свои другим цветом например. Но это бред. Будет все мерцать и тормозить. Лучше делать свое окно и вручную все прописывать. Но код будет большой. |
| Автор: AndNot 1.10.2008, 20:15 |
| Действительно |