Как мне использовать программные клавиши с приложением на основе CDialog в Windows mobile 6 через MFC?

StackOverflow https://stackoverflow.com/questions/105731

  •  01-07-2019
  •  | 
  •  

Вопрос

Как мне использовать программные клавиши с приложением на основе CDialog в Windows mobile 6 через MFC?

У меня есть профессиональное приложение на базе CDialog для Windows Mobile 6 (сенсорный экран), над которым я работаю.

Поведение приложения на основе CDialog по умолчанию в WM6 Professional заключается в том, чтобы по умолчанию не использовать никаких программных клавиш...Я хочу сопоставить программные клавиши с функциями "Отмена" и "ОК", которые отправляют IDOK и IDCANCEL в мой основной класс диалога.

Я безуспешно пытался работать с CCommandBar, и SHCreateMenuBar у меня тоже не получался.

У кого-нибудь есть пример того, как заставить это работать?

Это было полезно?

Решение

Что у вас "не работает" с панелью команд?Вы должны иметь возможность добавить элемент CCommandBar в свой класс dialog, затем в InitDialog этого диалога вы вызываете Create и InsertMenuBar на командной строке - что-то вроде этого:

m_cmdBar.Create(this);
m_cmdBar.InsertMenuBar(IDR_MENU_RESRC_ID);

Ваш ресурс меню может выглядеть примерно так:

IDR_MENU_RESRC_ID MENU DISCARDABLE
BEGIN
MENUITEM "OK", IDOK
MENUITEM "Cancel", IDCANCEL
END

Другие советы

большое вам спасибо...Я сходил с ума от этого...

ваш код сработал именно так, как ожидалось...

Сначала я использовал его и получил те же результаты, область программной клавиши была пустой, за исключением кнопки ввода SIP.

Примерно через час отладки я попытался поместить эти 2 строки кода в КОНЕЦ моего OnInitDialog(), и это сработало :)

Моя проблема заключается в том, что в моем OnIitDialog() Я создаю несколько дочерних диалоговых окон.когда я устанавливаю CCommandBar.InsertMenuBar() перед созданием дочерних диалоговых окон я не получаю свои программные клавиши "ок" или "Отмена", когда я помещаю эту строку после создания дочерних диалоговых окон, программные клавиши отображаются как ожидалось и отлично работают.

Еще раз спасибо

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top