几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » 程序设计 » vc编程
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-11-10, 03:45 PM   #1
huangyhg
超级版主
 
huangyhg的头像
 
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
huangyhg 向着好的方向发展
默认 MFC中,对话框中editbox框想实现输入回车自动跳转功能

楼主whmsd()2003-09-22 16:31:55 在 VC/MFC / 基础类 提问
用mfc的基于dialog的对话框编程。里面有若干个editbox。
想在想每当在上一个editbox内输入回车,光标自动跳转到下一个editbox内。另外一些editbox回车之后,应当执行对应的按钮单击事件函数
谢谢 问题点数:20、回复次数:9Top


1 楼wudhu(亮亮)回复于 2003-09-22 19:04:40 得分 9

BOOL CXxxDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam==VK_RETURN)
pMsg->wParam=VK_TAB;
}
return CDialog::PreTranslateMessage(pMsg);
}

4 楼whmsd()回复于 2003-09-23 10:00:45 得分 0

up

非常感谢。另外,还有一个问题。比如我想在最后一个editbox里面回车的时候执行一个按钮的操作。而这个按钮和这个editbox又不是紧挨着的。tab order不连续。请问,在不影响前面的功能的情况下,如何处理。 谢谢
其实这个问题的解法很多,
你也可以在if(pMsg->wParam==VK_RETURN)
后紧接着是GetDlgItem(IDC_NEXTEDIT)->SetFocus();
将焦点切换到下一个,当然这就解决了你的难题了,
因为它不用考虑文本框的顺序,只要它的ID就行了.
如果你要想执行按钮里的程序,
比如你的按钮程序为void CXXdlg::OnYourButton(){},
你只需要在要执行的地方加入OnYourButton();就行了
8 楼whmsd()回复于 2003-09-23 15:47:01 得分 0
up
我如何才能知道当前按回车的editbox是哪一个?Top

9 楼WindsonZhL(风之子)回复于 2003-09-23 16:26:48 得分 9

楼主:“当前按回车的”是对话框,不是编辑框。只有对话框才能响应 WM_KEYDOWN 消息。
你只要判断当回车键按下时,哪个 EditBox 拥有焦点就可以了。

this->GetFocus()->GetDlgCtrlID() 即返回当前拥有焦点的控件的 ID 。
__________________
借用达朗贝尔的名言:前进吧,你会得到信心!
[url="http://www.dimcax.com"]几何尺寸与公差标准[/url]
huangyhg离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
旧 2009-11-10, 03:46 PM   #2
huangyhg
超级版主
 
huangyhg的头像
 
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
huangyhg 向着好的方向发展
默认 回复: MFC中,对话框中editbox框想实现输入回车自动跳转功能

BOOL CDialog::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST)
{
if (pMsg->wParam == VK_RETURN)
{
if (GetFocus()== ::GetDlgItem(IDC_EDIT_TALKTEXT))
{
你的操作或处理;
}
return CDialog::PreTranslateMessage(pMsg);
}
}
}
__________________
借用达朗贝尔的名言:前进吧,你会得到信心!
[url="http://www.dimcax.com"]几何尺寸与公差标准[/url]
huangyhg离线中   回复时引用此帖
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 02:41 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多