用IE浏览网页时回车就可提交信息,如:google搜索时填入搜索内容按回车键就可以提交
但在VC对话框里用webbrowser控件浏览网页时,按回车键就直接退出对话框程序了,
原因是对话框先截获回车消息,然后调用OnOK(),所以就退出了。
解决方法是重载PreTranslateMessage(MSG* pMsg)函数:
前段时间又碰到个类似的问题,回车是不关闭对话框了,还能提交表单,但有些网页在输入完回车后响应的是tab键,如:
登录界面,输入用户名后回车,光标会跳至密码输入框!用这种方法就比较麻烦了,这时还是重载WM_GETDEFID消息比较好!
注意:!!!!!重载了WM_GETDEFID消息就不要重载PreTranslateMessage了!!!!!
下面是重载WM_GETDEFID消息的方法
一、添加消息映射
二、添加OnGetDefID函数定义
<

在VC对话框使用WebBrowser控件时,回车键可能导致退出程序而非提交网页表单。解决方案包括重载PreTranslateMessage()函数阻止默认的OnOK()调用,或重载WM_GETDEFID消息以处理回车转Tab的行为。参考链接提供了具体实现方法。
最低0.47元/天 解锁文章
3384

被折叠的 条评论
为什么被折叠?



