vc编辑框如何接受Tab键

来源:互联网 发布:投票刷票软件 编辑:程序博客网 时间:2024/06/05 06:45

 重载一下对话框的PreTranslateMessage,另外可以把edit的tab   stop属性去掉,这样当别的空间有焦点的时候,就仍然可以用TAB切换  

  1. BOOL CEditDlg::PreTranslateMessage(MSG* pMsg) 
  2. {
  3.     // TODO: Add your specialized code here and/or call the base class
  4.   if(pMsg->message   ==   WM_KEYDOWN   &&   pMsg->wParam   ==   VK_TAB)   
  5.   {   
  6.   int   start,   end;   
  7.   HWND   hWnd   =   ::SetFocus(m_edit.m_hWnd);  // m_edit为编辑框名称
  8.   if(hWnd   !=   m_edit.m_hWnd)   
  9.   ::SetFocus(hWnd);   
  10.   else   
  11.   {   
  12.   m_edit.GetSel(start,   end);   
  13.   m_edit.SetSel(start,   start);   
  14.   m_edit.ReplaceSel("/t");   
  15.   return   TRUE;   
  16.   }   
  17.   }   
  18.     return CDialog::PreTranslateMessage(pMsg);
  19. }
原创粉丝点击