ContextMenu plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Осталась проблема:
Пропала возможность редактировать горячими клавишами
Ctrl+V - вставляет текст не в окно редактирования меню , а в окно программы

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Andrey_A_A
Да, т.к. SearchReplace.js сейчас работает в диалогах ContextMenu, Toolbar.

В 4.7.4 можно будет использовать следующую проверку в скрипте, который назначен на Ctrl+V:

Code: Select all

var hMainWnd=AkelPad.GetMainWnd();
var hWndFocus=AkelPad.SendMessage(hMainWnd, 1317 /*AKD_GETFOCUS*/, 0, 0);

if (hWndFocus == AkelPad.GetEditWnd())
{
  //Стандартное окно редактирования
  //...
}
else AkelPad.SendMessage(hWndFocus, 0x302 /*WM_PASTE*/, 0, 0);

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Да, т.к. SearchReplace.js сейчас работает в диалогах ContextMenu, Toolbar
Очень жаль, потому что для меня эта функция не актуальна. Даже при моём многотысячном меню мне там нечего искать - я и так всё его знаю вдоль и поперёк, и даже если я что-то там найду, всё равно окно неудобно для полного редактирования - а вот стандартные вещи: вырезать, удалить, вставить - подходят.
Ну, да ладно, раз есть поиск и вывод, значит это кому-нибудь нужно.

может я что-то непонял, но
hWndFocus = AkelPad.SendMessage(hMainWnd, 1317, 0, 0)

выдаёт что в окне редактирования, что на обычном документе ноль. hWndFocus = 0 везде. Поэтому условие одинаково не срабатывает

и ещё:
как записать
AkelPad.SendMessage(hWndFocus, 0x302, 0, 0)
на vbs, а именно 0x302

p.s. Очень мало примеров в Scripts-Rus.txt для vbs скриптинга. Очень буду благодарен, если это изменится

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Andrey_A_A wrote:...может я что-то непонял, но...
В 4.7.4...
на vbs, а именно 0x302
&H302

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Очень мало примеров в Scripts-Rus.txt для vbs скриптинга. Очень буду благодарен, если это изменится
Посмотри в Scripts collection, там было несколько на vbs

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

В 4.7.4...
Будем ждать...
&H302
Спасибо, знал, но забыл...
Посмотри в Scripts collection, там было несколько на vbs
Те, что там есть я видел... Хотелось бы от автора с описанием:
Для автора это не сложно - часик займёт привести подобные примеры, которые есть для js на vbs в Scripts-Rus.txt, а мне (в частности) радость и возможность написания интересных скриптов

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Instructor, спасибо за поддержку горячих клавиш в окнах редактирования! разобрался

Есть ли команды, которые имитируют нажатие кнопки "OK" и F8 (удаление строки)- тоже хочу повесить на горячие клавиши?
или где это можно посмотреть, желательно с описанием

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Добавлено: методы для меню "Меню ссылок":
Link(4) - метод вырезает ссылку;
Link(5) - метод заменяет ссылку текстом из буфера обмена;
Link(6) - метод удаляет ссылку.

Added: methods for menu "URL menu":
Link(4) - method cuts hyperlink.
Link(5) - method replaces hyperlink with the clipboard text.
Link(6) - method deletes hyperlink.


ContextMenu plugin v12.1

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Спасибо! Благодарность просто нереальных размеров! :D

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

Instructor
Не претендую на истину в последней инстанции, но может лучше меню ссылок по дефолту сделать так:

Code: Select all

"Ссылка" Icon("бла-бла-бла")
{
"Открыть" Link(1)
"Копировать" Link(2)
"Выделить" Link(3)
SEPARATOR
"Вырезать" Link(4)
"Вставить" Link(5)
"Удалить" Link(6)
}
Заодно для ссылки иконку в ресурсы плагина забить.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

private_joker
Зачем пункты помещать в подменю, если они являются основными используемыми при нажатии на ссылку?

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

Instructor
Не раз и не два выделяя часть URL для копирования, выбирал первый пункт - "Копировать" (получалось естественно что весь URL, вместо выделенного). Просто на автомате т.к. она элементарно выше других пунктов и никак о себе не заявляет вроде "копировать ссылку" и иконок специфических не имеет и это при том, что я знаю что меню появляется на ссылках. А если не зная этой тонкости, то...
Либо как-то иконками пункты выделить, если подменю не устраивает, чтобы понятно было что ссылка.
Можно и вот так наверное, но как-то странно воспринимается слово "ссылку" 6 раз подряд:

Code: Select all

"Открыть ссылку" Link(1)
"Копировать ссылку" Link(2)
"Выделить ссылку" Link(3)
SEPARATOR
"Вырезать ссылку" Link(4)
"Вставить ссылку" Link(5)
"Удалить ссылку" Link(6) 
В принципе не хотите - не надо. Рвать на себе рубаху и доказывать не буду. :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

private_joker
Вы всё ещё пользуете меню "по умолчанию"?

Code: Select all

"Копировать" Link(2) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 8)
"Заменить" Link(5)
"Удалить" Link(6) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 25)
"Вырезать" Link(4) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 7)
"Выделить" Link(3)

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Кстати, неплохо бы иметь возможность добавить к меню ссылок обычное контекстное меню без копипаста (а то править неудобно).

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

неплохо бы иметь возможность добавить к меню ссылок обычное контекстное меню без копипаста (а то править неудобно)
Собственно, это актуально для всех меню, причем для главного, наверно, даже больше, чем для контекстного. Идеалом была бы возможность как вставлять стандартное меню в собственное

Code: Select all

"Мой пункт меню", ...
MENU_FILE
"Еще один мой пункт меню", ...
так и наоборот

Code: Select all

"Мой пункт меню", ... Index(MENU_FILE, 3)
Но это так, мысли вслух :)
Post Reply