如何在编辑框m_Edit输入完成后,敲击回车键,将编辑框中的内容传到别的编辑框中。

Z_Beginner 2005-03-24 01:18:18
我建了一个Dialog。每次一点击回车键,Dialog就关闭了。该如何实现标题功能?
...全文
338 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ShingFish 2005-03-24
  • 打赏
  • 举报
回复
你可以在PreTranslateMessage处理回车键:
BOOL CDlgDlg::PreTranslateMessage(MSG* pMsg)
{

if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam == VK_RETURN)
{
UINT nID = GetFocus()->GetDlgCtrlID();
switch( nID)
{
case IDOK:
break;
default:
NextDlgCtrl();
return TRUE;
}
}
}
}

这里特别处理IDOK是由于Enter键在对话框中默认动作是触发OK按钮。如果你不想这么处理,可以删除有关语句。
4inSky 2005-03-24
  • 打赏
  • 举报
回复
楼上的方法是正确的,你重载一下OnOk函数,然后删除CDialog::OnOK函数,在你想处理的时候在加上,以后就没有事情了,

还有,如果你想将编辑框中的内容传到别的编辑框中,你可以响应编辑框的回车事件,在哪里处理函数就可以了。
ghgk 2005-03-24
  • 打赏
  • 举报
回复
由VC向导生成的MFC对话框有两个按钮,其中ok按钮具有default button属笥。即在对话框中按下回车,系统自动寻找具有default buttonn属性的按钮,并传送这个按钮被点击或按下的消息。而由VC向导生在怕MFC对话框程序中在生成这两个按钮的同时也提供了这两个按钮被按下的消息处理。OK键是update后对话框退出,其对应回车。而Cancel键是直接退出,其对应ESC键。update是对话类的一个方法,作用是更新对话框中绑定的对像变量。
删除掉这两个按钮后按下回车也还是会退出这是因为,具有default button属性的按钮系统对其消息的处理是并不直接通过这个按钮的。而是另外生成一条消息送进程序消息队列得到执行的。
因此,如果你不想按下回车就退出。那就得自行处理这个按钮的消息处理。简单一句话,对着这个按钮双击,回车确定。删掉这一句代码 CDialog::OnOK();
poooorgun 2005-03-24
  • 打赏
  • 举报
回复
如果这两个按钮是自己生成的话
poooorgun 2005-03-24
  • 打赏
  • 举报
回复
这样的对话框的默认焦点在确定按钮上
Z_Beginner 2005-03-24
  • 打赏
  • 举报
回复
我是在 文件->新建->MFC AppWizard[exe]的下一步创建一个
基本对话框。是什么导致点击回车键关闭对话框的。
oyljerry 2005-03-24
  • 打赏
  • 举报
回复
PreTranslateMessage拦截回车键,然后处理数据的传递
poooorgun 2005-03-24
  • 打赏
  • 举报
回复
重载view类下的onkeydown消息函数:
void CmyView::OnkeyDown(UNIT nChar,UNIT nRepCnt,UNIT nFlags)
{
if(nChar==VK_ENTER)
{
传数据
}
}
inpriser 2005-03-24
  • 打赏
  • 举报
回复
取消按钮的Default Button属性
或者在Dialog::OnOk()中加入
CWnd *pWnd = GetFocus();
if (pWnd->GetDlgCtrlID() != IDOK)
{
NextDlgCtrl();
return;
}
CDialog::OnOK();
xuzheng318 2005-03-24
  • 打赏
  • 举报
回复
设置焦点你窗口的焦点!
pomelowu 2005-03-24
  • 打赏
  • 举报
回复
截获回车按键消息

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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