我想在CEdit控件中输入数据后,以回车键来确定取得输入的数据应该怎样做?

ocean1 2004-09-25 12:55:15
我想在CEdit控件中输入数据后,以回车键来确定取得输入的数据应该怎样做?
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
camelyi 2004-09-25
  • 打赏
  • 举报
回复
在Edit中回车则Edit的父窗口会收到WM_COMMAND消息,ID是IDOK,处理这个消息使用GetWindowText,就可以了。
当然,前提是你的Edit的风格没有want enter
lixiaosan 2004-09-25
  • 打赏
  • 举报
回复
BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg)
{
CString strEdit="";
if( pMsg->message == WM_KEYDOWN )
{
if(pMsg->hwnd == GetDlgItem(IDC_EDIT1)->m_hWnd)
{
switch( pMsg->wParam )
{
case VK_RETURN:
m_edit1.GetWindowText(strEdit);
AfxMessageBox(strEdit);
}
}
}

return CDialog::PreTranslateMessage(pMsg);
}
bobob 2004-09-25
  • 打赏
  • 举报
回复
先关联一个变量给edit,然后在OnOK里面更新到变量,因为这个是按回车键默认的
alon21 2004-09-25
  • 打赏
  • 举报
回复
//回车得到输入到EDit对话框中的值
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
if(GetFocus()->GetDlgCtrlID()==IDC_EDIT1)
{
//if((pMsg->wParam>= 0x30)&&(pMsg->wParam<= 0x39))
UpdateData(true);
if((pMsg->wParam== 0xD)) //0xD 十进制为13即回车
m_Edit2=m_Edit1;

UpdateData(false);
// return TRUE;
}
}

return CDialog::PreTranslateMessage(pMsg);
}

上面的代码将Edit1 中的内容回车后显示在了Edit2 中

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧