牛骨文教育服务平台(让学习变的简单)
博文笔记

MFC Edit控件之enter回车捕捉

创建时间:2016-03-26 投稿人: 浏览次数:3327

MFC Edit控件之enter回车捕捉

1、 构建基本框架

当输入框检测到enter按下,输入框数值将赋值到相关变量并在对应输出框显示。

2、 添加相关变量

四个Edit控件ID依次为:

IDC_EDITIN1、IDC_EDITOUT1、IDC_EDITIN2、IDC_EDITOUT2

添加对应变量:

m_editIn1、m_editOut1、m_editIn2、m_editOut2

3、 添加键盘消息处理函数

使用类向导重写虚函数PreTranslateMessage

 

PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加代码.。

在该函数里添加代码:

BOOL CEditEnterCatchDlg::PreTranslateMessage(MSG*pMsg)

{

    // TODO: 在此添加专用代码和/或调用基类

    if (WM_KEYDOWN ==pMsg->message && VK_RETURN == pMsg->wParam)

    {

        if (GetFocus() == GetDlgItem(IDC_EDITIN1)) //根据不同控件焦点判断是那个在执行 

        {

            UpdateData(TRUE);

            m_editOut1 = m_editIn1;

            UpdateData(FALSE);

        }

 

        if (GetFocus() == GetDlgItem(IDC_EDITIN2)) //根据不同控件焦点判断是那个在执行 

        {

            UpdateData(TRUE);

            m_editOut2 = m_editIn2;

            UpdateData(FALSE);

        }

        MessageBox(_T("Enter Catched!"));

        return true;

    }

    return CDialogEx::PreTranslateMessage(pMsg);

}

4、 运行效果



OK大功告成!如有问题欢迎和博主交流。

资源下载:http://download.csdn.net/detail/cracent/9473111

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。