MFC对话框使用回车键实现像TAB键一样跳转输入焦点

来源:互联网 发布:frp 自定义域名 编辑:程序博客网 时间:2024/06/01 07:30

        在一个MFC界面中完成大量散乱数据的输入操作,包含很多的EDIT控件。当使用数字键输入时,用TAB进行焦点控制颇为不便,考虑使用回车键。具体分两步实现:1、将各控件的TAB顺序调整好。使用Ctrl+D,从自己认为Tab顺序应该为1的控件开始依次单击,即可实现响应顺序的设置。2、重载对话框PreTranslateMessage消息处理函数,使当按下回车键时响应TAB键事件。具体代码如下:

  1. BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)   
  2. {  
  3.     // 顺次传递焦点,除非当前焦点在确定按钮上时才响应触发消息  
  4.     if((pMsg->message == WM_KEYDOWN) && (VK_RETURN == (int) pMsg->wParam))  
  5.     {  
  6.         if(GetFocus()->GetDlgCtrlID() != IDOK)  
  7.         {  
  8.             pMsg->wParam = VK_TAB;  
  9.         }  
  10.     }    
  11.     return CDialog::PreTranslateMessage(pMsg);  
  12. }  
参考链接:http://www.jizhuomi.com/software/158.html

http://blog.csdn.net/eickandy/article/details/49487823

0 0
原创粉丝点击