如何通过MFC在Windows Mobile 6中将软键与基于CDialog的应用程序一起使用?
我有一个基于CDialog的Windows Mobile 6(触摸屏)专业应用程序,我正在工作。
WM6 Professional中基于CDialog的应用程序的默认行为是默认情况下不使用任何软键...我想将软键映射到“取消”和“确定”功能,将IDOK和IDCANCEL发送到我的主对话类
我一直试图与CCommandBar合作而没有运气,SHCreateMenuBar也没有为我工作。
有没有人有一个如何让它工作的样本?
答案 0 :(得分:2)
CCommandBar对你有什么“不行”?您应该能够将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
答案 1 :(得分:0)
非常感谢你......我为此感到疯狂......
您的代码完全符合预期......
首先我使用它并得到相同的结果,除SIP输入按钮外,软键区域将为空白。
经过一个小时的调试后,我尝试将这两行代码放在我的OnInitDIalog()的END处,并且它有效:)
我的问题很重要,因为在我的OnIitDialog()中我正在创建一些子对话框。当我在创建子对话框之前放入CCommandBar.InsertMenuBar()时,我没有得到“ok”或“Cancel”软键,当我在创建子对话框后放置该行时,软键会按预期显示并且工作得很好。 / p>
再次感谢