AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.05.2009, 20:45   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Кажется, это реализовано в Tabax
Старый 18.05.2009, 22:48   #2  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Кажется, это реализовано в Tabax
Что-то не нахожу. Возможно, проблема не так понята. По всей видимости, автор поста хочет видеть не рис. 1, а рис. 2. Т.е. открывать в новом окне AOT не конктетный подузел, а весь элемент целиком (напр. форму или таблицу), при этом раскрывая дерево до интересующего конкретного подузла, выделив его.
Такой способ "Open new window" гораздо удобнее, чем стандартный, ведь часто хочется "подняться" вверх, а тут некуда... Более того, такой функционал решит проблему "нового окна" для таких элементов, как MenuItem, TableField и прочих, которые не имеют под собой child'ов. (такие элементы в OpenNewWindow не видны в 4-ке из-за бага отрисовки окон) см. В DAX4.0 SP2 перестал работать метод AOTnewWindow

У меня часто возникает желание сделать такой движок, но пока руки не доходят.
Идея реализации проста.
1. Открываем parent-элемент в новом окне
2. С помощью WinApi посылаем посылаем новому окну сообщения, симулирующие нажатие клавиш: "стрелка вниз", "стрелка вправо" до тех пор, пока не раскроем дерево до нужного узла, контролируя в статус-баре AOT-путь интересующего нас элемента. (либо - проще, но чуть менее производительно - после каждого "нажатия" стрелок брать LastAOTSelection и сравнивать с интересующим нас элементом).

Было бы очень здорово, если бы кто-либо реализовал такой движок.
Миниатюры
Нажмите на изображение для увеличения
Название: AOT_New_Window.jpg
Просмотров: 358
Размер:	50.8 Кб
ID:	4708  

Последний раз редактировалось DSPIC; 18.05.2009 в 22:55.
Старый 18.05.2009, 23:44   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DSPIC Посмотреть сообщение
2. С помощью WinApi посылаем посылаем новому окну сообщения, симулирующие нажатие клавиш: "стрелка вниз", "стрелка вправо" до тех пор, пока не раскроем дерево до нужного узла, контролируя в статус-баре AOT-путь интересующего нас элемента. (либо - проще, но чуть менее производительно - после каждого "нажатия" стрелок брать LastAOTSelection и сравнивать с интересующим нас элементом).
Зачем так сложно?
достаточно послать одну кнопку "Gray *"
__________________
полезное на axForum, github, vk, coub.
Старый 19.05.2009, 08:21   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от mazzy Посмотреть сообщение
Зачем так сложно?
достаточно послать одну кнопку "Gray *"
Не понял, - что послать?
Старый 19.05.2009, 09:21   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
достаточно послать одну кнопку "Gray *"
Видимо имелось в виду "Gray +". Кнопка плюса на малой клавиатуре раскрывает дерево, а кнопка минус - его сворачивает (аналог щелкания мышкой)

Тут 2 задачи:
1. Позиционирование на нужном элементе
2. Раскрытие нужного элемента и его родителей.

Вторая задача решается посылкой апишного сообщения окну. Причем посылка нажатия клавиши проще посылки кликания мышкой, т.к. не учитывает координаты "куда ткнуть". Но я бы не рекомендовал посылать клавиши - т.к. это может приводить к некоторым глюкам в случае применения буфера не к Аксапте.

Кстати, как я понимаю - идея реализации этой задачи возникла в первую очередь из-за того, что
Цитата:
Сообщение от DSPIC Посмотреть сообщение
решит проблему "нового окна" для таких элементов, как MenuItem, TableField и прочих, которые не имеют под собой child'ов. (такие элементы в OpenNewWindow не видны в 4-ке из-за бага отрисовки окон)
.
__________________
Возможно сделать все. Вопрос времени
Старый 19.05.2009, 09:25   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Tabax может частично регшить эту проблему - он предоставляет кнопку для Add-Ins, еще оттуда можно перейти к паренту контрола.
Старый 19.05.2009, 08:58   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Кажется, это реализовано в Tabax
Нет, этого нет. Можно только по пути отурыть новое окно. В Sidax - по имени.
Теги
aot, opennewwindow, законченный пример, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM,склонение ФИО и все все все OmenSore DAX: Функционал 22 09.02.2009 17:08
axaptafreak: AOT search within search results Blog bot DAX Blogs 0 16.11.2006 17:40
Вопрос про AOT 6apcyk DAX: Программирование 2 29.08.2005 23:18
AOT->documentation Dmitryus DAX: Программирование 3 20.12.2002 10:47
Кое-что нового про AOT Роман Кошелев DAX: База знаний и проекты 2 31.01.2002 09:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:49.