我用TWebBrowser做了一个ActiveForm格式的编辑器,可是在IE中运行时,编辑器中无法使用方向键、Delete等功能键,请问该怎么办?谢谢(200

  • 主题发起人 主题发起人 tttk
  • 开始时间 开始时间
T

tttk

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TWebBrowser做了一个ActiveForm格式的编辑器,可是在IE中运行时,编辑器中无法使用方向键、Delete等功能键,请问该怎么办?谢谢(200分)<br />各位老大,我用TWebBrowser做了一个ActiveForm形式(嵌入在IE中)的编辑器,可是
在IE中运行时,编辑器中无法使用方向键、Delete、Home、End等功能键。其他的按键
都能正常使用。

事前我猜想可能是IE截获了这些键盘消息,后来为了测试,我用TMemo控件做了一个
ActiveForm,结果没有问题,难道是TWebBrowser的问题吗?

请教各位ActiveX高手,我该怎么办?非常感谢。
 
可能是IE中已经把这些键都定义好了相关的功能了吧。我觉得你在onleypress中把这些键重写一遍,试一下吧。
 
感谢mdc网友的解答。

我以前也有这样的疑惑,可是为什么使用TMemo控件后就没有此问题?
 
你用tmemo替代了twebbrowser肯定是不会出现那样的问题了。
twebbrowser就是internet browser control1.1控件呀。IE也是用internet browser control1.1
你在IE中用会有冲突的呀。
 
mdc, 我需要使用TWebBrowser中的好多功能,实在没有别的控件可以替代。您有什么好的办法么?[:)]
 
是因为 IE会先“消化”这些键盘消息的, 你要用键盘 hook 截获键盘消息,然后自己处理 :(
 
轻松虎,你能告诉我具体该怎么做吗?只要能行,麻烦点也行。一定给分。
 
tttk,你搜索一下以前的贴子吧,如何用hook截获键盘消息。
 
关于Hook的具体做法,原理并不难,就是用 Hook 技术可以得到消息,
关键要点是
1。过滤有用的消息
2。响应消息
后者看你具体的程序,前者我以前做的经验多试验几次
这里有个讨论的页供你参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=0869995
另外提示 Rx 等控件包里有 Hook 控件 RxWindowHook,用起来稍微简单一点
 
共享一下源码,大家来分析
 
我觉得你如果想做IE中的HTML编辑器,最好别用TWebBrowser,应该使用Microsoft提供的
DHTML Edit Control,这个是专门做这个的。并且提供的SDK里有使用它开发Web的例子。
 
感谢大家的答复。关于钩子函数和DHTML Edit Control我都打算试一下,前者可能难一点,
没有把握;后者我记得用过,不知什么原因放弃了,毕竟,换了一个控件之后代码改写太多,
并不是我所希望的。

总而言之,等我有了结果之后一定记得来给大家加分。此帖未结,欢迎大家继续参与讨论。
谢谢。
 
后退
顶部