小弟刚开始学习mobile编程,就先做了个对话框,放一编辑框,运行程序的时候,在编辑框里输入文本时如果输错了,想按“退格删除”键重新输入,可是一按那个键就退出程序了!要怎么解决呢?
------解决方案--------------------
back 在你不重载的情况下 os有默认的处理 关闭当前dailog
解决办法
在init dailog时 发送SHCMBM_OVERRIDEKEY 重写VK_BACK的行为
HWND hwndMenuBar = SHFindMenuBar(m_hWnd);
SendMessage(hwndMenuBar, SHCMBM_OVERRIDEKEY, VK_TBACK, MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, SHMBOF_NODEFAULT | SHMBOF_NOTIFY));
dailog响应 wm_hotkey 然后如此这般
LRESULT CMyDlg::OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if(VK_TBACK == HIWORD(lParam))
{
bHandled = true;
SHSendBackToFocusWindow(uMsg, wParam, lParam);
}
return 0;
}