Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.9.115] |
|
Сообщ.
#1
,
|
|
|
Привет всем
Мне необходимо сделать так, чтобы от hard1-hard4 кнопок палма не поступало keyDown сообщения. При этом, хард кнопки Up и Down должны посылать подобные сообщения. Что делаю я при запуске программы: ------------ UINT32 nNewMask = keyBitHard1 & keyBitHard2 & keyBitHard3 & keyBitHard4; gnOldKeyMask = KeySetMask( nNewMask ); ------------ После этого я опрашиваю в нужных местах программы четыре харда (там все работает), а сообщения от Up-а и Down-а не получаю (вот в чем проблема). Кто-нибудь знает, в чем дело? Может, я неправильно кнопки "выключаю" из цикла обработки сообщений, т.е. вместе с четырьмя хардами еще и вверх-вниз прихватываю? Пока и удачи. |
Сообщ.
#2
,
|
|
|
Я в подобной задаче перезватил в цикле чтения сообщений перед вызовом ситемного обработчика сообщение keyDown
а там проанализировал #define MENUKEY 261 #define HOMEKEY 264 #define FINDKEY 266 #define CALCKEY 267 #define KEY1 516 #define KEY2 517 #define KEY3 518 #define KEY4 519 #define POWERKEY 520 #define HOTSYNC 521 #define UP 11 #define DOWN 12 bool onFormSysMessage (EventType &msg) { switch(msg.eType) { ....... case keyDownEvent: switch(msg.data.keyDown.chr) { case MENUKEY : return onMenuKey(); case HOMEKEY: return onHomeKey(); case FINDKEY : return onFindKey(); case CALCKEY : return onCalcKey(); case KEY1: return onKey1(); case KEY2 :return onKey2(); case KEY3 :return onKey3(); case KEY4 :return onKey4(); case POWERKEY: return onPowerKey(); case HOTSYNC: return onHotSync(); case UP: return onUpKey(); case DOWN:return onDownKey(); } ....... } return false; } и соответственно обработал |