|
|
|
|
#1 |
|
Участник
|
И снова про Hot Key
Добрый день!
Кто нибудь знает как в Аксапте обработать нажатие произвольной комбинации клавиш? Скажем Alt+1 или что то подобное. Метод Task тут не поможет к сожалению как я понимаю. Спасибо! |
|
|
|
|
#2 |
|
Участник
|
Класс Info, метод onEventGoingIdle(), обрабатывай любые клавиши и делай потом, что нужно.Например
void onEventGoingIdle() { #KeyPressed ; if (WinApi::isButtonDown(#control) == true) { info('CTRL'); } this.operationProgressClear(); this.endLengthyOperation(true); } |
|
|
|
| За это сообщение автора поблагодарили: slava (1), Garic (1), blokva (2). | |
|
|
#3 |
|
Microsoft Dynamics
|
Цитата:
Сообщение от MrVisual
Класс Info, метод onEventGoingIdle(), обрабатывай любые клавиши и делай потом, что нужно.
__________________
You should use Bing before asking dumb questions. |
|
|
|
|
#4 |
|
NavAx
|
А можно узнать что в методе WinApi::isButtonDown? Стандартного такого не вижу.
__________________
С уважением, Игорь Ласийчук. |
|
|
|
|
#6 |
|
Участник
|
сорри
// 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). | |
|
|
#7 |
|
Member
|
Упрощенные (более примитивные) варианты без использования Win API (если интересно) можно посмотреть по следующей ссылке
Можно ли в Аксапте делать "горячие клавиши"?
__________________
С уважением, glibs® |
|
|
| Теги |
| winapi, горячие клавиши |
|
|
|