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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.08.2025, 12:15   #16  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
332 / 913 (31) +++++++
Регистрация: 23.10.2012
Привет.
Доставляет неудобства вопрос перехвата пользовательского ввода для созданных formControl'ов в runTime.
Поэтому решил окунуться в омут installMessageProc с целью перехвата этих самых событий.
Понятное дело, ControlMethodOverload никто не отменял, но такой объект может быть только 1-н на форму, что накладывает ограничения, поэтому его не всегда получится применить (не говоря уже об обязательном соответствии наименования метода и контрола).

Для обычных контролов код события 0x0100 (для целей valueChange/textChange) покрывает проблематику в полной мере.
Однако, особенности в использовании данного подхода проявляются при работе со всякими combobox, date (с formRef EDT), utcDateTime контролами - "контейнерными" контролами.
HWND, который возвращает Аксапта, верхний в абстракции и события он не генерирует (которые можно перехватить с помощью installMessageProc).
Говорить буду о combobox (представляет наибольший интерес). Сам он - "pane" (AxComboBoxEx) состоящий из "combobox", "editable text", "push button", "list" (list) и "list item" (это массив).
Вот этот "зверинец" и необходимо перехватывать.
Когда пользователь нажимает на "стрелочку вниз", он запускает button, отображающий list (из invisible становится visible) с перечнем item'ов.
Согласно классике, функции findWindowEx и getWindow не могут найти list среди дочек combobox'a.
Возвращаясь к теме использования "oleacc.dll" (Dax 2012 получить путь к Treenode (Toolbar, tabax)) и его функциям (AccessibleObjectFromWindow, AccessibleChildren, WindowFromAccessibleObject), вытянуть list и list item'ы можно.

Последний раз редактировалось Товарищ ♂uatr; 12.08.2025 в 12:52.
За это сообщение автора поблагодарили: Logger (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX 2009 некорректный SPID в форме активных пользователей Logger DAX: Программирование 2 05.07.2010 17:19
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
msdynamicsax: Enterprise Portal development in DAX 2009 Blog bot DAX Blogs 0 18.04.2008 07:06

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

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

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