如何捕获SP的回退键

回退键在smartphone上是起到三种作用:
1、对于窗口,除了对话框(From)和MessageBox提示框, 按下后退键,系统将返回
到前一个界面(窗口),当前窗口并不关闭,由前一个窗口在最上方显示(按 z 顺序导航 )

2、对于有edit空间的对话框,后退键在edit中起到BACKSPACE一样的作用,删除字符.
当我门作back key的重载处理的时候,我们需要执行SHSendBackToFocusWindow,
对有焦点的控件进行处理操作.

3、对于没有edit控件的对话框,或者对于MessageBox提示框,按下后退键,将会向窗口发送WM_COMMAND/IDCANCEL 消息,对话框收到后,系统调用默认的退出响应。

 

对于有Edit control的对话框

case WM_HOTKEY:
{
  if(VK_TBACK == HIWORD(lParam))
  SHSendBackToFocusWindow(message, wParam, lParam);
}

对于没有edit control的对话框

case WM_COMMAND:
{
 switch(LOWORD(wParam))
 {
   case IDCANCEL:
    {
  EndDialog(hwnd, TRUE);
     return TRUE;
    }
 }
break;
}

以上详细情况可以看看sdk 里面的samples/win32/Closewindow 例子和Back例子