IgorA
Насчет глюка с кнопкой определенной функцией 8 - попробуй перед вызовом события мыши для MenuBar отключать те кнопки что под ним. Согласно документации:
Параметры для удаления кнопки:
eax = 8 - номер функции
edx = 0x80nnnnnn, где nnnnnn - идентификатор кнопки
А после вызова MenuBar восстанови с такими же параметрами, которые ты задавал в Draw_window. При этом перерисовывать картинку не обязательно, переопределение кнопки не отразится на внешнем виде, если ты ее задавал без отображения самой кнопки.
Впрочем как вариант можно перейтти на использование DinamicButton.
В связи с созданием программы msgbox даю новую версию текстового редактора.
Убрал 3 глюка:
1) при сохранении файла дописывался лишний символ (было не правильное условие выхода из цикла)
2) при открытии программы не ставил "чистку" памяти, в связи с чем могли быть ошибки (одна из таких ошибок проявлялась в том, что не всегда проявлялся глюк N1)
3) функция GetPosByParam при некоторых условиях, вела себя не правильно
Доработки:
в 2-х случаях выдается сообщение (открытие большого файла, создание нового файла)
новая версия т. редактора 24.03.2009
изменения на рисунках, цвета берутся из файла test.syn , думаю сделать интерфейс для выбора файла, но пока оно (имя файла) только одно
убрал несколько небольших глюков
1. Хотелось бы функцию включения и выключения подсветки синтаксиса.
2. Сейчас, я так понимаю, вначале рисуется синяя полоса с цифрами слева, а потом уже чёрный фон с текстом. Можно сделать лучше, чтобы перерисовка была менее видна. Должно быть так: рисуется полоса синего, цифра, полоса чёрного справа от неё, текст. И т.д.
Программа всё больше радует, так держать!)))
Замечание по поводу подсветки: допустим мне захочется завести метку, например, xorjgeeaxabc: ...
Хотя, в принципе, четырехцветная метка - это прикольно =)
версия от 30 марта 2009:
1) на последней кнопке сделал включение и выключение подсветки (хотя поначалу я ее задумывал для других целей)
2) изменил алгоритм рисования полосы с номерами строк
3) метка с именем xorjgeeaxabc: ... теперь будет двухцветной, потому что немного доработан алгоритм выделения слов цветом (определенные слова не выделяются, если слева стоит буква или цифра)
Немного улутшил программу:
1) Доработал алгоритм разметки слов. Выделяются комментарии и строки в кавычках. Более корректно выделяются слова.
2) По нажатии одной из кнопок на панели выделяется слово (по цвету), стоящее под курсором.
3) Изменил рисунки 3-х кнопок на панели
Читал что вроди макрос новый сделали для загрузки библиотек ?
Запускаю программу, тыкаю мышью в середину текствого поля, начинаю печатать. Текст печатается в левом верхнем углу текстового поля, а курсор при этом двигается там, куда я ткнул вначале.
Запускаю программу, тыкаю мышью в середину текствого поля, начинаю печатать.
Для исправления нужно доработать функцию TextAdd из файла t_work.asm . Дело втом что при добавлении текста за пределы документа нужно прежде добавить знаки перехода строки и пробелы. При открытии программы документ пустой, при попытке добавить текст за пределами файла - он (текст) добавляется в конец пустого документа, т. е. левый верхний угол.
Будет время постараюсь исправить, но пока недоделок много.
<Lrz>
Интересный баг, пока такого не видел. Может ли он быть связан с каким-либо не правильным подключением (или использованием) элемента EditBox ? Если происходит затирание данных самой программой, то это будет сложнее найти... Insolor
Т.е. одна переменная остается неинициализированной
В эту переменную я планировал записать количество добавляемых символов новой строки.
проще не текст подтягивать к курсору, а курсор подтянуть к тексту
И так тоже можно сделать, просто хочется что-бы текст под курсор подстраивался а не наоборот. Если за пределом строки добавлять текст то он дополняется лидирующими пробелами. Потому думаю что надо будет дополнять и в данном случае. Хотя предложенный вариант с курсором легче реализовать.