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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.06.2004, 11:06   #1  
if_maks is offline
if_maks
Участник
 
226 / 15 (1) ++
Регистрация: 26.08.2003
И снова про Hot Key
Добрый день!
Кто нибудь знает как в Аксапте обработать нажатие произвольной комбинации клавиш?
Скажем Alt+1 или что то подобное.
Метод Task тут не поможет к сожалению как я понимаю.

Спасибо!
Старый 07.09.2006, 12:44   #2  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Класс Info, метод onEventGoingIdle(), обрабатывай любые клавиши и делай потом, что нужно.Например
void onEventGoingIdle()
{
#KeyPressed
;
if (WinApi::isButtonDown(#control) == true)
{
info('CTRL');
}
this.operationProgressClear();
this.endLengthyOperation(true);
}
За это сообщение автора поблагодарили: slava (1), Garic (1), blokva (2).
Старый 07.09.2006, 14:01   #3  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
А можно узнать что в методе WinApi::isButtonDown? Стандартного такого не вижу.
__________________
С уважением, Игорь Ласийчук.
Старый 07.09.2006, 14:20   #5  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
сорри

// returns true if the button is pressed at the time of invocation
static boolean isButtonDown(int keyId)
{
DLL _winApiDLL = new DLL('USER32');
DLLFunction _getKeyState = new DLLFunction(_winApiDLL, 'GetKeyState');
int retval;
_getKeyState.returns(ExtTypes::Word);
_getKeyState.arg(ExtTypes:Word);
retval = _getKeyState.call(keyId);
return retval > 0x7FFF;
}
За это сообщение автора поблагодарили: axaLearner (1).
Старый 07.09.2006, 16:38   #6  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Упрощенные (более примитивные) варианты без использования Win API (если интересно) можно посмотреть по следующей ссылке

Можно ли в Аксапте делать "горячие клавиши"?
__________________
С уважением,
glibs®
Старый 07.09.2006, 17:35   #7  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Цитата:
Сообщение от MrVisual
Класс Info, метод onEventGoingIdle(), обрабатывай любые клавиши и делай потом, что нужно.
К сожалению, это не обработка комбинаций "горячих" клавиш в чистом виде. Это всего лишь проверка на нажатые клавиши в момент, когда приложение запускает фоновую обработку событий. Эта проверка не учитывает контекст, активную в данный момент форму и т.д.
__________________
You should use Bing before asking dumb questions.
Теги
winapi, горячие клавиши

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Foreign Key в Ax SergeK DAX: Программирование 15 17.06.2008 17:06
Khue Trinh: Inventory Min/Max Key Blog bot DAX Blogs 0 13.01.2008 19:32
Arijit Basu: Hot Fixes released for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 0 12.06.2007 08:41
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:11.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.