您的位置:首页 > 其它

MFC对话框按下回车和Esc键关闭的解决

2010-07-16 11:11 399 查看
在对话框程序中,如果回车没有设定动作的话,会与Esc键一样,将对话框关闭,给用户造成困扰。要解决该问题,需要拦截消息。

首先在对话框程序中添加PreTranslateMessage()函数,在函数中对回车和Esc键的按下进行转发,不进行任何处理。参考自MFC GridControl2.26的demo。

 

    if( pMsg->message == WM_KEYDOWN )

    {

        if(pMsg->wParam == VK_RETURN

            || pMsg->wParam == VK_ESCAPE )

        {

            ::TranslateMessage(pMsg);

            ::DispatchMessage(pMsg);

            return TRUE;                    // DO NOT process further

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mfc