18.06.2004, 11:06 | #1 |
Участник
|
И снова про Hot Key
Добрый день!
Кто нибудь знает как в Аксапте обработать нажатие произвольной комбинации клавиш? Скажем Alt+1 или что то подобное. Метод Task тут не поможет к сожалению как я понимаю. Спасибо! |
|
07.09.2006, 12:44 | #2 |
Участник
|
Класс 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 |
NavAx
|
А можно узнать что в методе WinApi::isButtonDown? Стандартного такого не вижу.
__________________
С уважением, Игорь Ласийчук. |
|
07.09.2006, 14:20 | #5 |
Участник
|
сорри
// 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 |
Member
|
Упрощенные (более примитивные) варианты без использования Win API (если интересно) можно посмотреть по следующей ссылке
Можно ли в Аксапте делать "горячие клавиши"?
__________________
С уважением, glibs® |
|
07.09.2006, 17:35 | #7 |
Microsoft Dynamics
|
Цитата:
Сообщение от MrVisual
Класс Info, метод onEventGoingIdle(), обрабатывай любые клавиши и делай потом, что нужно.
__________________
You should use Bing before asking dumb questions. |
|
Теги |
winapi, горячие клавиши |
|
|