20.02.2007, 13:01 | #1 |
MCTS
|
Получение экземпляра текущего Editor
Можно ли программно (из кода Аксапты) получить экземпляр текущего Editor (окна с кодом)?
Задача состоит в выполнении с Editor некоторых действий (посредством AxGoToDeclaration) при нажатии UserDefined кнопки в Tabax. Axapta 3.0 sp4 |
|
20.02.2007, 13:13 | #2 |
MCTS
|
вот какую идею мне подал Alex_KD, за что ему огромное спасибо
Цитата: Сообщение от Eldar9x Подскажите, пожалуйста, каким образом вы получали Handle окна редактора кода Посмотрите в Spy структуру окошек в Аксапте. А дальше FindWindowEx(...); |
|
20.02.2007, 14:41 | #3 |
MCTS
|
Цитата:
Но вот что не совсем понятно - если я даже определю Handle окна с кодом - как это поможет объект типа Editor получить...? |
|
20.02.2007, 14:47 | #4 |
Участник
|
По таймеру смотрите активное окно. (В принципе ActiveX для этого врядли нужен. Думаю Аксаптой можно обойтись. - это я про вторую тему по этому поводу)
Если это окно редактора, то посылайте ему команды для вызова EditorScripts. (конкретного скрипта, в котором написан ваш код для запоминания объекта Editor туда, куда вам нужно). А что хотите сделать такого, если не секрет? |
|
20.02.2007, 15:08 | #5 |
MCTS
|
Цитата:
Цитата:
А что хотите сделать такого, если не секрет?
|
|
20.02.2007, 16:33 | #6 |
Участник
|
Цитата:
То есть через sendMessage по данному хэндлу смоделировать нажатие ALT-M и выбор меню?
|
|
21.02.2007, 11:47 | #7 |
MCTS
|
Цитата:
По findWindowEx нашел один топик Панель задач в Аксапте.
|
|
21.02.2007, 11:54 | #8 |
MCTS
|
to Alex_KD: было бы прикольно, если бы привел сам код получения этого самого editorа причем текущего, то есть того в котором мы щас кодим, нужен его handle
|
|
21.02.2007, 13:07 | #9 |
MCTS
|
Ок, посмотрю. Я думал, что может есть более "прямой" путь получения Editor методами Аксапты... Что-нибудь типа GetCurrentEditor() Видимо нету, но возможно предлагаемый способ не сильно хуже.
Заодно сделал кнопку для "возврата" на первоначальные место в коде, откуда поиск через AxGoToDeclaration был инициирован - очень удобно. Принцип такой же как в AxGoToDeclaration - сохраняем параметры [e.path(), e.currentLineNo()+1, e.columnNo()+1] через infolog.globalCache().set() в момент вызова скрипта. А для отображения используем метод, аналогичный AxGoToDeclaration.goEditTreeNode(). |
|
21.02.2007, 13:14 | #10 |
MCTS
|
вот вот, я о том же, в смысле нужна такая функция, так что ждем ответа
|
|
21.02.2007, 13:16 | #11 |
Участник
|
Как закончите с получением editor и примените для того, чего хотели, можно будет получить код(проект) по почте? (чтобы дополнить проект на axaptapedia)
|
|
21.02.2007, 13:20 | #12 |
MCTS
|
да ради бога
|
|
21.02.2007, 13:22 | #13 |
Участник
|
2 Eldar9x:
Вообще я адрессовал сообщение alex55. А вы тоже параллельно работаете над этим? |
|
21.02.2007, 13:34 | #14 |
MCTS
|
нет, у меня немного другая задача, но для ее решения все равно необходим handle текущего editora
|
|
22.02.2007, 11:39 | #15 |
Участник
|
Пример получения едитора можно посмотреть в этом проекте.
После распаковке запустите reg.bat (зегистрация компонента). Далее - экспорт проекта AxEditor.xpo Проект EditorScripts.xpo - содержит класс EditorScripts с измененной функцией showScripts (там идет запись Editor e). Переносить нужно только ее. Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить. Думаю по аналогии разобратся в получении Editor e не составит труда. |
|
|
За это сообщение автора поблагодарили: Мариночка (1), Eldar9x (1). |
22.02.2007, 11:49 | #16 |
MCTS
|
Шикарно, спасибо, то что надо!
|
|
22.02.2007, 14:32 | #17 |
MCTS
|
|
|
|
За это сообщение автора поблагодарили: kashperuk (5). |
30.05.2008, 14:02 | #18 |
Участник
|
|
|
30.05.2008, 15:04 | #19 |
Участник
|
Ух.
Поставьте Ассист, посмотрите как там сделано. Почитайте инсталляцию внимательно. Смотрите картинки - должно выглядеть примерно так(для 4ки).
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
30.05.2008, 15:37 | #20 |
Участник
|
Цитата:
Сообщение от Alex_KD
Ух.
Поставьте Ассист, посмотрите как там сделано. |
|
Теги |
download, editor script, полезное, axapta |
|
|