Всем доброго времени суток)) подскажите, пожалуйста, можно ли как-то для объекта EditBox (Эдитбокс) запретить любое редактирование текста (текста по умолчанию) КРОМЕ выделения и копирования?? заранее спасибо;))
не знаю... можт я чего-то не догоняю, поскольку это мой первый опыт общения с плагинами. пример посмотрел. там в слева расположен объект 'Плагин', а справа кнопки, при нажатии на которые выполняются различные скрипты. запускаю пример, набиваю в левом поле текст, нажимаю кнопку 'Рид онли'. да, действительно теперь набранный мною текст нельзя редактировать, НО (!) его можно выделить и удалить. так не годится
кроме того я не понял самого главного: как навесить этот плагин на EditBox. мне ведь надо, чтобы изнчально набранный мною текст после компиляции проекта нельзя было редактировать. а в примере текст вводится в уже запущенном проекте.
1. В списке объектов в примере найти Plugin и зайти в его свойства. 2. Указать путь к dll файлу (плагину) из архива, и на запрос о внедрении файла в проект нажать Yes.
Что то странные, последнее время, тенденции пошли, надпись убрать, реадонли поставить зашифровать все поголовно, ну сплошная защита, лучше бы стремились к тому что бы сделать такую прогу, что бы достойна была не то что взлома, а хотя бы популярности. Как то, смотрел одну демку, запускаю, "введите код", пришлость лезть в скрипт за кодом...ну ничего достойного внимания.
Но если ну очень нужно, то можно Прикрепления: noedit.zip(1Kb)
во!! это именно то, о чём я мечтал))) спасибо огромное, Alex3A!
Добавлено (17 Ноябрь 2009, 21:38) --------------------------------------------- ещё маленький вопросик: в ММВ из EditBox копировать можно только через Ctli+C. а можно ли каким-нибудь скриптом приравнять Ctli+C к Ctli+Insert ?
Сообщение отредактировал serjik008 - Вторник, 17 Ноября 2009, 21:37
ок) спасибо! сорри, если оффтоп, но я думал это плавное продолжение темы... но мне такой вариант, к сожалению, не подходит - мне надо, чтоб копировался только выделенный текст
Сообщение отредактировал serjik008 - Вторник, 17 Ноября 2009, 23:22
но мне такой вариант, к сожалению, не подходит - мне надо, чтоб копировался только выделенный текст
Тогда другой выход из ситуации. На сайте лежит прекрасный модуль Rush'a - Editbox.dll. С ним можно реализовать копирование выделенного текста в буфер (см. справку в архиве) по той системе, что я написал выше (задание горячей клавиши) через такой сценарий:
Code
SendCommand("Binder","0,12")
На всякий случай отмечу, что не вижу у модуля задания свойства ReadOnly
по етой ссылке сейчас нету Editbox.dll - есть тока InputBox.dll. это одно и тоже?
и как им польоваться? я создаю плагин InputBox.dll. далее я в самом этом плагине должен прописать скрипт SendCommand("Binder","0,12") ?... но тогда там нет выбора сочетания клавиш, запускающих скрипт. следовательно я должен создать отдельно от плагина объект 'Скрипт' и в нём уже прописать SendCommand("Binder","0,12"). но тогда как в плагине сделать ссылку на выполнение данного скрипта?...
Сообщение отредактировал serjik008 - Среда, 18 Ноября 2009, 12:15
Давай сначала поймем, что же тебе надо. У тебя уже есть едит который не позволяет изменять текст, при этом позволяя копировать текст, как полностью так и частично, выделив необходимую часть. Скопировать можно с помощью меню, вызваного правой кнопкой мышки, или стрл+с, в принципе стандартный метод. Или он тебя не устраивает, и тебе нужно какое то "хитрое" копирование, что б никто не знал как?
Как это по ссылке нет? Я вчера скачал оттуда, проверил все и написал сюда! Алекс, не нужно ничего выдумывать. Обьясни человеку, как пользоваться модулем и все. Я сейчас не могу, с телефона. Буду лишь вечером. Вечная память Андрею Сергееву!
Что можно сказать по "хитрому" копированию, можно сделать копирование выделенной части в пределах проекта-выделяем копируем стрл+с или с помощью меню, потом по нажатию заранее определенной комбинации это копируется в заранее определенный объект проекта, при этом в буфере обмена ничего не будет, и следовательно в другую прогу не скопируеш. Второй вариант, с возможностью копировать во вне, копируем как и прежде, нажимаем комбинацию (стрл+q, в примере) и в течении установленного времени (смотри коментарий в скрипте) у нас имеется возможность скопировать выделенный ранее фрагмент во внешнюю прогу.
Добавлено (18 Ноябрь 2009, 14:42) --------------------------------------------- Пы.СЫ. Второй вариант имеет оригинальный эхвект фикции Пока проект работает, любое коприрование в системе возможно только определенным в проекте, извращенным способом,причем активацию, нажатие стрл+q, делать только в окне проекта Оченно зловредная фича
Добавлено (18 Ноябрь 2009, 14:46) --------------------------------------------- Все скопированное в буфер обмена из иной проги, в первом варианте, по нажатию стрл+q окажется в объекте проекта. Ну и конечно в других прогах копирование работать не будет.
Эти эффекты можно сделать относительно локальными, ограничив их действие координатами окна, при выходе мыши за координаты окна, они отменяются. При возвращении мышки в координаты окна проекта, эфекты востанавливаються, в не зависимости от того видно окно в данный момент или нет. Локализация эфектов показана на основе примера 1, аналогично можно доработать и пример 2. Данные испражнения предназначены для искателей чего то необычного и эксклюзивного, возможно вы найдете в этом что то интересное, для себя. На этом свои извращения считаю закончеными.
У тебя уже есть едит который не позволяет изменять текст
Не обязательно это может относиться к данной теме. Он мог задать уже совсем другой вопрос. Относительно другого, полностью доступного Edit'a.
Quote (serjik008)
и как им польоваться?
Взять из архива файл InputBox.dll (и не нужно говорить, что его там нет. Что это ещё за новости?). Создать в проекте объект Binding Object, в свойствах выбрать нашу dll'ку.
Далее.
Quote (YURIY)
Создаём объект Script, в его свойствах назначаем горячую клавишу CTRL + Insert. В сценарии указываем:
Code
SendCommand("Binder","0,12")
Вот и всё. Далее читаем справку и настраиваем внешний вид Edit'a по своему вкусу.
Всем привет :)) извиняюсь, что долго не отвечал (был завал на работе сейчас немного подразгрёбся и вернулся к изучению данного вопроса)
Quote (YURIY)
Взять из архива файл InputBox.dll (и не нужно говорить, что его там нет. Что это ещё за новости?)
вот и я про то же - в архиве лежит файл 'InputBox.dll' а файла 'Editbox.dll' там нету. поэтому я и спросил: InputBox.dll и Editbox.dll это одно и тоже?
попоробовал сделать как ты сказал: создал объект Binding, зашёл в его свойства, нажал обзор, нашёл и выбрал модуль InputBox.dll. но вот не задача: Binding работает только с exe файлами а не с dll !! как быть? и потом, как применить внесённые изменения - кнопка 'Ok' (или чё-то типа того) в свойствах объекта Binding отсутствует
и потом, хотелось бы всё-таки знать, как при твоём способе реализовать функцию ReadOnly ?
У тебя уже есть едит который не позволяет изменять текст, при этом позволяя копировать текст, как полностью так и частично, выделив необходимую часть. Скопировать можно с помощью меню, вызваного правой кнопкой мышки, или стрл+с, в принципе стандартный метод. Или он тебя не устраивает, и тебе нужно какое то "хитрое" копирование, что б никто не знал как?
абсолютно верно! только надо это не для "хитрого" копирования - я левша и мне удобней копировать через ctrl+Ins
посмотрел твой пример noedit3.zip. чёй-то он у меня не робит: выделяю фрагмент, нажимаю ctrl+q, загорается bufer$ (тобишь информация, как я понимаю, скопировалась в буфер обмена) но вот вставляться никуда категорически не хочет (хоть в приделах окна проекта курсор находится, хоть за его приделами...)
с таймером ваще не понял... это так надо или это типа такая изошрённая фича? мне лично таймер не нужен.
также не понял ещё один момент. в примере Scrit вводит в Editbox значение параметра а$; Scrit1 - загружает выделенный фагмент в буфер; Scrit2 - осуществляет, собственно сам процесс; Scrit3 - работает с координатами курсора, но нигде я не нашёл строчки, в которой программа обращалась бы к Scrit3... это для меня непонятно...
Если я писал "это", то какие ещё могут быть вопросы? Можно подождать появления на форуме автора модуля и спросить у него, как быть. Если никак - попросить добавить эту функцию.
serjik008, ты так долго думал, что я уже все забыл Запускаем пример, мышом или стрл+с копируем выделенный текст, по нажатию стрл+q он вставится во второе поле ввода, комбинация кнопок для вставки текста в скрипте Script1. А вставляется только приа ктивном окне проекта. Также можеш скопировать текст в другом окне, активировать окно проекта, при этом в буфере исчезнет то что ты копировал, но по нажатию стрл+q, при активном окне проекта, вставится в проект.
Quote (serjik008)
но нигде я не нашёл строчки, в которой программа обращалась бы к Scrit3... это для меня непонятно...
Плохо смотрел, посмотри в свойствах страницы, он там запускается
Quote (serjik008)
с таймером ваще не понял... это так надо или это типа такая изошрённая фича?
А таймер просто периодически вызывает скрипты, вот ты и имееш возможность все время наблюдать координаты мыша, с помощью таймеров, прога как бы выполняет одновременно несколько задач, и координаты показывает и чего то там еще копирует и вставляет
Quote (serjik008)
я левша и мне удобней копировать через ctrl+Ins
А мне удобней копировать мышом А мыша мона и под левшу заточить.