2009-03-14 3 views
2

Кто-нибудь знает, можно ли использовать программные клавиши на устройстве WM 6 (Motorola MC 35) без фактического отображения нижней панели/строки меню? У меня есть полноэкранное приложение Compact Framework, в котором я хочу использовать программные клавиши, но я не хочу, чтобы отображалась нижняя панель меню (это было бы пустой тратой пространства экрана). К сожалению, программные клавиши, похоже, не генерируют никаких клавиатурных событий !?Как использовать программные клавиши без программной клавиши/панели меню на Windows Mobile 6?

Было бы хорошо, если бы я вообще переназначил программные клавиши на некоторые стандартные клавиши, например. F1 и F2, может быть, есть какие-то хаки или настройки реестра для этого?

Спасибо.

ответ

2

По иронии судьбы, я думаю, что MS называет эти аппаратные кнопки, может быть, это была проблема при поиске в Интернете. Существует компонент Hardwarekey, установите его свойство Key (Key1 .. 5) и перенаправьте его на элемент управления. Этот контроль может быть вашей Формой. В событии Controls KeyDown введите KeyCode в перечисление Hardwarekeys.

См. Образец кода на этом MSDN page.

+0

Большое спасибо. Я действительно google'd в течение часа без какого-либо полезного результата, используя «программные клавиши» в качестве параметра поиска ... – Timo

1

Я не думаю, что вы можете «не иметь» строку меню, если хотите использовать клавиши, но вы можете «скрыть» окно панели меню так же, как любое окно.

например.

ShowWindow(SHFindMenuBar(window_handle), SW_HIDE); 

Одна из проблем, вы будете иметь то, что некоторые устройства не имеют аппаратные кнопки для функциональных клавиш так, скрывающим их будет означать, пользователь не может использовать их.

+0

Или вы можете просто установить свойство Form.MainMenu на нуль –

+0

Спасибо Хенк, я больше такой же родной парень Я мало что знаю о мире .net CF. –

Смежные вопросы