如何调用IHTMLElement相关事件的函数?如onkeydown的函数

zhugay 2011-10-17 06:29:06
1.一个IHTMLInputElement,输入文本后按tab键,文本才会生效,估计是执行了onkeydown函数,内部进行了处理。但如果用put_text()设置文本,虽然编辑框里显示的是正确的字符串,但提交表单却说输入不正确,估计是因为没有执行onkeydown的函数,内部相关变量还是空值。但tab键输不进去呀?put_text()函数输入不了tab键,回车键之类的键呀,如何办?1.请问如何输入tab键?如何给IHTMLDocument或IHTMLEelement发送tab键?2.查询源码知道了onkeywon的函数名,如onkeydown=keydownHandler,如何调用这个keydownHandler?
2.一个IHTMLSelectElement,默认选择了一个item,如果调用HRESULT IHTMLSelectElement::put_selectedIndex(long v);虽然 看起来选择了其它item,但一提交,选择并没有生效,仍然是默认的选择?估计是没有执行onchange函数(selchange?),加入知道了该事件的函数名,如何调用?

因为要自动化填表单,虽然填的内容在界面上生效了,但实际上提交时并没有生效,内部数据没有改变?如何自动化填表单就像真正的用键盘鼠标操作那样填出来的效果。

3.另外,IHTMLElement::Click执行后,函数好像是马上返回,这时click好像还没有产生效果,如弹出一个窗口,页面变化成下一页。如何知道click已经生效了?
...全文
204 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishion 2011-10-19
  • 打赏
  • 举报
回复
没测试过,想像下方法:由IHTMLElement的get_onkeydown方法得到事件对象,再由IHTMLElement调用QueryInterface查询接口IHTMLElement3,调用IHTMLElement3的fireEvent方法

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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