How can I handle the Return key in a CEdit control?(如何处理 CEdit 控件中的 Return 键?)
问题描述
如何处理 CEdit
控件中的 Return 键 (VK_RETURN
)?CEdit
控件的父级是 CDialog
.
How can I handle the Return key (VK_RETURN
) in a CEdit
control? The CEdit
control is parented to a CDialog
.
推荐答案
您还可以在对话框的 PreTranslateMessage 中过滤键.如果您得到 VK_RETURN
的 WM_KEYDOWN
,请调用 GetFocus
.如果焦点在您的编辑控件上,请调用您对编辑控件中按下的返回的处理.
You could also filter for the key in your dialog's PreTranslateMessage. If you get WM_KEYDOWN
for VK_RETURN
, call GetFocus
. If focus is on your edit control, call your handling for return pressed in the edit control.
注意 if 中的子句顺序依赖于短路是有效的.
Note the order of clauses in the if relies on short-circuiting to be efficient.
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN &&
pMsg->wParam == VK_RETURN &&
GetFocus() == m_EditControl)
{
// handle return pressed in edit control
return TRUE; // this doesn't need processing anymore
}
return FALSE; // all other cases still need default processing
}
这篇关于如何处理 CEdit 控件中的 Return 键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何处理 CEdit 控件中的 Return 键?


基础教程推荐
- 我有静态或动态 boost 库吗? 2021-01-01
- 在 C++ 中计算滚动/移动平均值 2021-01-01
- 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
- 如何检查GTK+3.0中的小部件类型? 2022-11-30
- 常量变量在标题中不起作用 2021-01-01
- 如何在 C++ 中初始化静态常量成员? 2022-01-01
- C++结构和函数声明。为什么它不能编译? 2022-11-07
- 如何通过C程序打开命令提示符Cmd 2022-12-09
- 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
- 这个宏可以转换成函数吗? 2022-01-01