Scripts discussion (2)
- Author
- Message
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Instructor, просьба усовершенствовать скрипт DuplicateLines.js, а именно: возможность добавления только одной линии (как это в нетбинс и эклипс).
Наверное проще всего сделать аругментом - сохранять выделение или нет, чтобы влияло на здесь:
Наверное проще всего сделать аругментом - сохранять выделение или нет, чтобы влияло на здесь:
Code: Select all
AkelPad.ReplaceSel(pSelText, true);
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Instructor
С true скрипт будет работать как и сейчас.
Без параметра либо с false выделение (2 и более строки результата) не будет сохраняться, т.о. следующий запуск скрипта опять сработает только по текущей строке, что и требуется.
Code: Select all
var bResultSelect = AkelPad.GetArgValue("sel", false);
AkelPad.ReplaceSel(pSelText, bResultSelect);
Без параметра либо с false выделение (2 и более строки результата) не будет сохраняться, т.о. следующий запуск скрипта опять сработает только по текущей строке, что и требуется.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Обновил незаслуженно забытый скрипт
Напоминаю, в чём фишка скрипта: он подменяет нажатые клавиши. В частности, в представленном функционале это используется для имитации использования русской или украинской раскладки клавиатуры во время работы с английской раскладкой. И наоборот: при работе с русской раскладкой клавиатуры имитируется английская.
Напоминаю о том, что подмена нажатых клавиш не зависит от установленных языков (кроме английского) и работает даже в том случае, если в системе в принципе не установлена ни русская, ни украинская раскладка клавиатуры.
Соответственно, скрипт можно дополнить для поддержки других раскладок.
Напоминаю, в чём фишка скрипта: он подменяет нажатые клавиши. В частности, в представленном функционале это используется для имитации использования русской или украинской раскладки клавиатуры во время работы с английской раскладкой. И наоборот: при работе с русской раскладкой клавиатуры имитируется английская.
Напоминаю о том, что подмена нажатых клавиш не зависит от установленных языков (кроме английского) и работает даже в том случае, если в системе в принципе не установлена ни русская, ни украинская раскладка клавиатуры.
Соответственно, скрипт можно дополнить для поддержки других раскладок.
Last edited by DV on Sat Oct 20, 2012 4:44 pm, edited 2 times in total.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
DV, появилась функция AkelPad.WindowNoNextProc (отменить вызов стандартного обработчика сообщения) и соответственно правило "возвратить не ноль что-бы следующий обработчик не вызвался" уже не работает. Т.е возвращаем что нам нужно, а как вызвовом AkelPad.WindowNoNextProc (не)разрешаем делать по своему.
Кроме того, для хука окна редактирования появился новый финт:
Кроме того, для хука окна редактирования появился новый финт:
хучит конечно все окна, но думаю это не проблема.AkelPad.WindowSubClass
______________________
Install capture for window messages.
WindowSubClass(hHandle, lpFunction[, ...]);
Arguments
hHandle
Window handle or one of the following values:
1 //WSC_MAINPROC Install capture for main window messages.
2 //WSC_EDITPROC Install capture for all edit windows messages.
3 //WSC_FRAMEPROC Install capture for all MDI frames messages.
lpFunction
Function with 4 arguments, in which messages will come.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact: