MFC EditCtrl响应回车按键事件

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

MFC EditCtrl响应回车按键事件


需求:对于一个友好的用户界面,用户在编辑框中按下回车键后界面焦点会跳转到其他控件,或者执行特定的代码。

但MFC并不用户友好,实际上非常不友好。无论MDI,SDI还是Dialog界面中,用户按下回车键,都将会使界面关闭。(这种说法并不严密,姑且如此表述)

MFC IDC_EDIT回车响应 MFC中,在EDIT编辑框中输入一串数据,按回车响应函数被触发,以执行某些函数。点击EDIT编辑框,右击>类向导>命令>虚函数>找到PreTranslateMessage并双击。此时已重写的虚函数中就会出现PreTranslateMessage,Dlg.cpp中会出现如下代码。在刚刚生成的PreTranslateMessage函数中添加如下消息处理函数,其中m_listbox是界面中listbox的变量。 阅读详情

相关推荐

MFCEdit Control输入完成后按下回车键希望直接执行某个函数

MFCEdit Control输入完成后按下回车键希望直接执行某个函数

xiaofen17458的博客 1510

MFC EDIT 回车事件响应之 OnChar() 实现

本文阐述了在MFCEDIT控件实现回车事件响应,采用PreTranslateMessage,虚方法和OnChar事件相结合的方法,同时兼容了扫描枪输入的难题,这实际使用解决输入捕获事件具有实际意义。

孤独剑的专栏 3324

MFC控件扩展-CEdit实现回车换行

实现步骤: 1)创建CEdit类的子类 2)重载PreTranslateMessage 3)拦截回车消息处理回车事件 if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { UpdateData(TRUE); CString strWindowText; GetWindowText(strWindowText)

1420

MFC中获取控件上回车键(enter)的事件

应用背景: MFC界面上一个EditControl编辑框,用二维码扫描枪扫描到二维码,解密二维码中数据,自动显示信息到编辑框内。 技术分析: 一般的二维码信息最后都会有一个回车字符(\n或者\r\n)。这样在mfc控件中,监听回车事件即可,具体在PreTranslateMessage中实现 代码如下: BOOL CTestDlg::PreTranslateMessage(MSG* pMs

langxm2006的专栏 4534

问题:MFC对话框程序-文本编辑框(Edit Control)控件,按下回车键后窗口退出

解决方法:重写虚函数OnOK(); 具体操作: 对话框的资源编辑器上空白处右键,打开类向导,点击虚函数,搜索虚函数 OnOK(),选中 OnOK(),点击右侧添加函数,然后点击编辑代码。然后把CDialogEx::OnOK();注释掉 void CcanshutestDlg::OnOK() { // TODO: 在此添加专用代码和/或调用基类 //CDialogEx::OnOK();//注释掉 } ...

weixin_47414836的博客 1113

MFC实现编辑框对回车键的响应

首先把文本编辑框属性里的want return选上。 然后可以通过重载虚函数PreTranslateMessage()对所关心的消息进行解析: BOOL CTestView::PreTranslateMessage(MSG* pMsg) { if (WM_KEYFIRST message && pMsg-> message <= WM_KEYLAST)

DullardFighting 1万+

MFC对话框中屏蔽Enter键与ESC键

*************************************文章内容无意义,存档用****************************************

holybin的专栏 4949

怎么样捕捉在edit control中按下回车

编辑框对应的消息响应如下,如果这个里面还是没有,那就要自己在消息处理函数PreTranslateMessage里面进行判断了。 EN_CHANGE //编辑框中的文本己更新  EN_ERRSPACE //编辑框内存不足  EN_HSCROLL //用户点击了水平滚动条  EN_KILLFOCUS//编辑框正在失去输入焦点  EN_MAXTEXT //插入的内容被截断  EN_SETFOCUS //编辑框获得输入焦点  EN_UPDATE//编辑框中的文本将要更新  EN_VSC

sanfenlu的专栏 4254

MFC对话框编辑框屏蔽或修改对回车响应

类视图-类向导 选择要更改的类 虚函数 选择 OnOK 添加函数 然后如下编辑函数 void C枪支编码识别Dlg::OnOK()//回车响应重写 { // TODO: 在此添加专用代码和/或调用基类 if (GetDlgItem(IDC_EDIT1)==GetFocus())//希望回车事件处理的控件——IDC_EDIT1为控件ID { 处理程序。。。 ret

IT-Why 2977

CEdit控件的回车事件

在VC中要响应一个CEdit控件的回车事件是一件非常复杂的事情。而且在回车事件触发后通常还会触发其他的一个事件,比如按钮的Click事件。 下面的例子进行如下操作:当在CEdit中按下回车的时候,触发Button1的Click事件。 步骤1、放一个CEdit控件和一个Button控件; 步骤2、选择CEdit控件的Multiline和Want return属性; (这个很重要,一定要记得)

u011473714的专栏 4870

MFC 03 MFC项目-Edit Control 控件使用

3 解决MFC中文本框 按 "Enter"键后自动退出程序问题,比如前面的 密码框,里面输入enter会退出,选中类,在属性中,找到重写,然后重写OnOK。这样在Edit Control 中输入回车就不会退出了。2 设置多行显示,回车 下一行。

xieguoping26的博客 732

MFC Edit Control 捕捉回车用法

头文件添加 BOOL Ctext1Dlg::PreTranslateMessage(MSG* pMsg) {    if(WM_KEYDOWN == pMsg->message && VK_RETURN == pMsg->wParam && GetFocus() == GetDlgItem(IDC_EDIT1))      {         MessageBox(_T("ads

大步朝前 8268

MFC处理回车窗口消失

我的方法是:找到自己设计的按钮,在属性-风格中选择default button; 如果没有自己设计的button,按照以下方法: 默认焦点在确定按钮上,回车就触发这个按钮的OnOK事件,默认按回车是触发OnOK事件,看看有没有无效断点; 注释掉OnOK();或重设tab键顺序;取消ONOK的defaultbutton属性; 一、原因          当用户按下Enter键时,Wi

DullardFighting 5006

MFC常见问题以及解决方法(1)_MFC下文本编辑框按下回车后窗口退出

MFC常见问题以及解决方法(1)_MFC下文本编辑框按下回车后窗口退出

qq_38472465的博客 212

MFC Edit控件之enter回车捕捉

MFC Edit控件之enter回车捕捉 1、 构建基本框架 当输入框检测到enter按下,输入框数值将赋值到相关变量并在对应输出框显示。 2、 添加相关变量 四个Edit控件ID依次为: IDC_EDITIN1、IDC_EDITOUT1、IDC_EDITIN2、IDC_EDITOUT2 添加对应变量: m_editIn1、m_editOut1、m_editIn2、m_editO

文森特 1万+

CEdit中对于回车键的响应

对于这个问题,解决的方法比较多。我列出一个比较好的方法,供有兴趣的你参考:  重载 XXXDlg的 PreTranslateMessage 函数: BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg){  if ( pMsg->message == WM_KEYDOWN &&       pMsg->wParam == VK_RETURN )

齐北的小村 4036

MFC EDIT CONTROL控件失去焦点

可以使焦点转移到其他的控件,GetDlgItem(IDC_CONTAINER_INPUT)->SetFocus(); 可以右键弹起时产生。

d89538239的博客 2274
上一篇: MFC中光标从窗口1跳转到窗口2中的某个控件中
下一篇: 用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果
死神在世
博客等级 码龄13年 233粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值