Мне достаточно хорошо известен способ назначения горячих клавиш на различные команды в меню и keyins.
Но вот возник вопрос, ковырялся в хелпе и обнаружил что помимо известного мне BindMenu есть BindKeyPress, который вроде как позволяет назначить горячую кнопку на горячую кнопку, т.е. назначить "t" на "F10" например, но у меня почему-то не получается. Поскольку примеров использования не приведено, то пытаюсь использовать аналогично
Код
keyBindTables.AddKeyBinding "Alt+F1", "Help->Contents->Automation", BindMenu, BindAccelerator
например в таком виде
Код
keyBindTables.AddKeyBinding "t", "F10", BindKeyPress, BindAccelerator
но ментор при запуске ругается что нет такого пункта меню, видимо синтаксис отличается. Кто-нибудь знает пример использования?
P.S. Обратил внимание что в начале файла скрипта для назначения горячих клавиш происходит назначение констант
Код
BindMenu = 0
BindAccelerator = 1
BindCommand = 1
В хелпе сказано
BindKeyPress The value for this constant is 3. Assign the shortcut key or stroke to a keyНо добавление строчки
Код
BindKeyPress = 3
Приводит к выводу ошибки
Код
Error:0x800a07d1 'Illegal BindType parameter: 3'
P.P.S. Ещё в хелпе есть ссылка на файл
key bindings described in this section are stored and loaded from \<mgc_home>\<release>\SDD_HOME\standard\exped_wvo.vbs , но на его редактирование (и даже удаление) ментор никак не реагирует.
Кстати внутри этого файла есть интересный синтаксис:
Код
Bindings("Application").AddKeyBinding "Alt+Enter", "WVOProperties", Menu, Accelerator
добавление аналогичной строчки в свой файл приводит к тому что ментор ругается на отсутствие меню
WVOProperties, вот бы ещё с этим моментом разобраться...
P.P.P.S. И ещё вопрос по автоматизации, может я невнимательно искал, но мне вот непонятно: где можно увидеть полный список всех доступных команд для работы со скриптами?
Вот например в разделе
Exercise 1: Displaying a Single Routing Layer есть строчка подключения библиотеки и вызов команды
Код
Scripting.AddTypeLibrary("MGCPCB.ExpeditionPCBApplication")
Scripting.AddTypeLibrary("MGCSDD.KeyBindings")
Call AddLayerMenus()
Ранее в описании команды
Call есть строчка пример
Call traceObj.MoveRelative(10,15) . Собственно где список функций библиотеки в котором будет AddLayerMenus(), traceObj.MoveRelative(), pcbDocObj.ActiveViewEx.DisplayControl и т.д.?