Сейчас на форуме: jinoweb (+5 невидимых) |
eXeL@B —› Программирование —› Tiny RichEdit control |
Посл.ответ | Сообщение |
|
Создано: 26 ноября 2009 11:29 · Личное сообщение · #1 Доброго времени суток, господа Разбирал ParseBuffer и NewRichEditProc перегнал на си. Поскольку не знаю как разобрать ту вермишель из регистров что в них есть. Если кто силён - помогите пожалуйста Вот что у меня получилось в итоге: В принципе смотрится нормально, но очень уж хочется сделать поддержку Русского текста в комментах и ключевых словах. В аттаче исходник библиотеки для подсветки синтаксиса и пример её применения(с выводом дизасма). p.s.: RAEdit и HiEdit просьба не предлагать. 908e_26.11.2009_CRACKLAB.rU.tgz - RichEdit.rar ----- все багрепорты - в личные сообщения |
|
Создано: 26 ноября 2009 12:12 · Личное сообщение · #2 запустил RichText.exe переключил раскладку на Русский стал писать текст на русском, переключил раскладку на Английский, продолжил писать текст - описанный тобой баг не возникает ставлю знак ";" перед коментом или нет - без разницы посмотрел сорс шрифт задаётся через функцию SetFont Code:
этим шрифтом выводится текст через Code:
----- EnJoy! |
|
Создано: 26 ноября 2009 12:21 · Поправил: HandMill · Личное сообщение · #3 Jupiter, спасибо что посмотрел! А под какой осью? SetFont - это уже моя функция (новая), пришлось добавить, поскольку изначально такой в исходнике Иксзелеона нет. Вот он баг во всей красе: и ещё один, для его воспроизведения добавляем в wordfile.txt русское слово "текст" (я его там написал в секцию "C3"). Набираем текст ... и если даже он подсветился удачно, меняем раскладку на английскую, давим Ctrl + A (выделить весь текст) и потом End/Home для позиционирования курсора в конце/начале текста контрола ... в общем заставить его насильно перерисовать весь текст: что-то мне подсказывает что у тебя вин 7 ----- все багрепорты - в личные сообщения |
|
Создано: 26 ноября 2009 13:31 · Личное сообщение · #4 |
|
Создано: 26 ноября 2009 14:07 · Поправил: HandMill · Личное сообщение · #5 У меня уже на втором компе наблюдается этот баг. Ось - WinXP SP3, не сборка. Ещё эта поделка тестилась на какой-то сборке WinXP SP3 - баг присутствовал Как вообще тогда понять когда он возникает то Копать в сторону системных шрифтов или хз куда add: в 7 вообще никакой подсветки не увидел (правда пользовался подключением к удалённому рабочему столу). Просьба владельцев 7 потестить. ----- все багрепорты - в личные сообщения |
|
Создано: 26 ноября 2009 15:35 · Личное сообщение · #6 |
|
Создано: 26 ноября 2009 15:51 · Личное сообщение · #7 crc1, благодарю за тест, удивлён ещё больше, причём не очень то положительно Перегнал ещё одну функцию с асма на си: void SetColor() { CHARFORMAT cfm1; SendMessage(hwndRichEdit,EM_SETBKGNDCOLOR,0,BackgroundColor); RtlZeroMemory(&cfm1,sizeof cfm1); cfm1.cbSize=sizeof cfm1; cfm1.dwMask=CFM_COLOR; cfm1.crTextColor=TextColor; SendMessage(hwndRichEdit,EM_SETCHARFORMAT,SCF_ALL,(long)&cfm1); return; } Горел надеждой что CHARFORMAT поможет своим полем bCharSet, которому пытался присвоить значение RUSSIAN_CHARSET. Но мои надежды не оправдались ... ----- все багрепорты - в личные сообщения |
|
Создано: 26 ноября 2009 16:11 · Личное сообщение · #8 у меня постоянно такое было , что то у тебя в реестре может быть с настройками шрифтов , типо региональные настройки, есть программа патч от автора сборки тоталкомандера с самлаб , там есть патч шрифтовый для отображения правильного русского , мне всегда помогал. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 26 ноября 2009 16:19 · Личное сообщение · #9 |
|
Создано: 26 ноября 2009 16:47 · Личное сообщение · #10 mak пишет: там есть патч шрифтовый для отображения правильного русского Угу, протестировал на компе с установленной сборкой тотал коммандера, программа отображает русские шрифты правильно Jupiter пишет: и выглядит, кстати очень убого - явно можно поиграться с типами сглаживания ты имеешь ввиду шрифт? Библиотека то открыта, если Terminal не нравится - бери, да юзай другой шрифт. Jupiter пишет: почему? потому что мне не надо куча фич, которые там есть и я хочу минимальный контрол без использования мфц и т.п. библиотек. ----- все багрепорты - в личные сообщения |
|
Создано: 04 июля 2018 22:28 · Личное сообщение · #11 Готово 5664_04.07.2018_EXELAB.rU.tgz - RichEdit.rar ----- все багрепорты - в личные сообщения | Сообщение посчитали полезным: dosprog, SReg |
|
Создано: 06 августа 2018 03:12 · Личное сообщение · #12 HandMill Быстро же ты кодишь )) См. вложение, в Wine всё слипается в одну строку 55bf_06.08.2018_EXELAB.rU.tgz - RichEdit_HandMill_highlight.png Добавлено спустя 7 часов 42 минуты Скрин примера из 2009 года: 0dc9_06.08.2018_EXELAB.rU.tgz - RichEdit_HandMill_highlight_2009.png ----- EnJoy! |
eXeL@B —› Программирование —› Tiny RichEdit control |