鼠标手势原理 ( 积分: 100 )

  • 主题发起人 主题发起人 bluesadman
  • 开始时间 开始时间
B

bluesadman

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在写一个专门浏览网文的浏览器,想知道myie,gb所支持的鼠标手势是怎么回事
我不知道应该用什么接口的什么过程
有可能是IDocHostUIHandler的 FilterDataObject
但我不知道应该怎么用,也可能根本不是这个接口,请有心人指点一二


谢谢

我察看了一下,鼠标手势好像是专指右键,问题重新提出
1、webbrowser不响应鼠标事件,应如何解决
我添加了一个ApplicationEvents1,在其onmessage中将所有事件分发,同时扑捉页面上的鼠标事件,发给webbrowser.但这样一来,webbrowser的下一级窗口又不响应鼠标事件,也就是说,点击页面无反应,不知如何解决。
2、鼠标托拽,如何得到鼠标正在托拽的物件?


 
最近在写一个专门浏览网文的浏览器,想知道myie,gb所支持的鼠标手势是怎么回事
我不知道应该用什么接口的什么过程
有可能是IDocHostUIHandler的 FilterDataObject
但我不知道应该怎么用,也可能根本不是这个接口,请有心人指点一二


谢谢

我察看了一下,鼠标手势好像是专指右键,问题重新提出
1、webbrowser不响应鼠标事件,应如何解决
我添加了一个ApplicationEvents1,在其onmessage中将所有事件分发,同时扑捉页面上的鼠标事件,发给webbrowser.但这样一来,webbrowser的下一级窗口又不响应鼠标事件,也就是说,点击页面无反应,不知如何解决。
2、鼠标托拽,如何得到鼠标正在托拽的物件?


 
http://www.codeproject.com/atl/MouseGestures.asp
 
实现IDragDrop接口,就可以进行拖拽了,
但是,当拖拽的连接包含javascript时,拖拽无反应。
比如说起点网站中任意一本书的目录页
http://www.cmfu.com/readbook.asp?bl_id=18875
拖拽含java的连接无反应,该怎么办?
 
bluesadman,同志呀,终于找到又上CMFU,又上DFW的人了
 
吓我一跳,我可不是同志啊!要叫兄弟!

----------[8D]----------------------

这位兄弟有思路么,给个提示吧。
有空交流一下看书心得。
 
http://www.codeproject.com/atl/MouseGestures.asp

已经 贴过开始你了啊,哪里有很完备的实现,你转成delphi就可以了。
 
关键问题是,twebbrowser 不响应鼠标事件,也就没有mousemove,mousedown等事件,
 
to :webbrowser的下一级窗口又不响应鼠标事件
重写WebBrowser组件 能扑捉鼠标消息~~ 无论WebBrowser的哪级窗口都能响应鼠标事件
 
webbrowser的事件是在每个标签上来响应的,webbrowser你们的东西是自己draw的,不要拿一般windows的知识来套,不信你找找看webbrower里面的那些edit你能找到几个句柄.

 
>>webbrowser的事件是在每个标签上来响应的,webbrowser你们的东西是自己draw的,不要拿一般windows的知识来套,不信你找找看webbrower里面的那些edit你能找到几个句柄.

老兄,你的话我理解不了,什么是 webbrowser的事件是在每个标签上来响应的?
我用spy跟踪发现,webbrowser 只响应两个鼠标事件 一个是wm_MOUSEACTIVATE,一个是
WM_PARENTNOTIFY,至于WM_MOUSEMOVE等是在WEBBROWSER的下两级窗口相应的,我不知怎样重写WEBBROWSER以相应鼠标事件,请给个思路!

谢谢!!
 
就是说ie有自己的消息系统,不是windows的那些,你当然看不到了,看看dhtml的资料就知道了。每个标签,比如<a>都有自己的事件的,但是用的不是windows的消息系统来搞。是ie自己的消息系统,你当然用spy跟踪不了。
 
没错,IE处理自己的消息,也就是说无法得到鼠标事件了?
我用ApplicationEvents1,将得到的IE的事件发送到Webbrowser中,这样一来可以就可以在Webbrowser中相应鼠标事件。
但是,此时无法进行选择操作,也就是说,不能选择页面上的一段文字了
 
我不是贴过C++的给你?你看看是怎么做的就知道了。
 
在原码中,使用了
MESSAGE_HANDLER( WM_MOUSEMOVE, OnMouseMove )
MESSAGE_HANDLER( WM_RBUTTONDOWN, OnRightButtonDown)
来得到鼠标事件,Delphi中没有这个函数,win api也没有!!
先不说这个问题,换一个
如何托拽含javascript的连接?
<实现IDragDrop接口,就可以进行拖拽了,但是,当拖拽的连接包含javascript时,拖拽无反应。比如说起点网站中任意一本书的目录页 http://www.cmfu.com/readbook.asp?bl_id=18875 拖拽含java的连接无反应,该怎么办? >
 
后退
顶部