2016-08-10 8 views
1

Я пытаюсь использовать некоторую кнопку numpad (например, /, * и цифры) в качестве ускорителей для wxMenuItem (C++, GTK), но они не работают.Характеристики ускорителя wxMenuItem

Если я указываю только 2, только обычная 2 кнопка будет срабатывать событие, не 2 на цифровой клавиатуре с NumLock ON (в то время как ASCII коды совпадают). То же самое с / и * кнопок.

Я пытался найти некоторые спецификации для ускорителей в WxWidgets документации, но, к сожалению, они не являются полными (к примеру, говорит, что нужно указать pgdn для ключа PageDown, но на самом деле как PgDn и PageDown работает хорошо) и дать нет идеи использовать кнопки NumPad.

Пробовал что-то вроде NumX для кнопок NumPadX - это тоже не работает.

Итак, вопросы:

1) Есть ли полной спецификации для ускорителей в WxWidgets?

2) Если нет, может ли кто-нибудь предложить мне, как использовать кнопки NumPad в качестве ускорителей?

+1

Имейте в виду, что wxWidgets - это кросс-платформенная библиотека. Таким образом, «PageDown» может не работать на некоторых платформах. Что касается вашего первого вопроса - работает ли он на Windows? И какая у вас версия wxWidgets? Какая у вас GTK-версия, с которой она составлена? Какая версия ОС/ОС? Наконец, вы попробовали выборку меню? Вам нужно будет изменить образец кода, чтобы получить числовые клавиши в качестве ускорителей. – Igor

+0

@Igor, вопрос говорит о ключах '2','/'или' * '... Даже в случае кросс-платформы эти клавиши всегда ** присутствуют **. Это касается программы калькулятора рабочего стола. Никто не говорит о каком-то странном ключе, как те, которые вы можете заплатить на компьютере Apple. –

ответ

2

Вы ищете WXK_NUMPAD2 (который документирован вместе со всеми остальными key codes), а соответствующая строка ускорителя меню (которая, к сожалению, не документирована) - KP_2.

+0

спасибо! Строки ускорителя других клавиш: «KP_SUBTRACT», «KP_ADD», «KP_MULTIPLY», «KP_DIVIDE», «KP_ENTER» и «KP_DECIMAL» - просто нашли их с использованием метода triar-and-error. – user3558897

+1

Я добавил полный список поддерживаемых строк в документацию в [this commit] (https://github.com/wxWidgets/wxWidgets/commit/7d9d5934b557df1f512e7eda93f350da68599450). –