delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
twebbrowser无法屏蔽flash的右键?? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061207070837112.html
我试过很多方法,   HOOK是可以的,但会出现其它问题,例如自定菜单无法响应点击.  
   
  http://www.delphibbs.com/keylife/iblog_show.asp?xid=10961  
  可以监控到其它HTML-tag的消息,但对flash无效??   我想获取flash的点击事件(无URL链接所以用不到其它方法)    
 

HOOK是因为跨进程而不得不使用的方法,  
  TWEBBROWSER是在你自己的应用程序进程里啊!  
  TWERBROWSER所有响应MOUSE事件都是通过应用程序的消息传给它的,  
  哪用得着那些麻烦的方法,  
  你筛选一下应用程序的右键消息就行了.  
 

是activeform

哦...你是ACTIVEFORM上面加FLASH??  
 

csdn在凌晨的时候经常都不能发贴(超时)   ,真奇怪.  
   
  http://community.csdn.net/Expert/topic/5212/5212367.xml?temp=.210232  
  对啊.    
   
  http://www.gzyd.net/lael/w.rar  
  //   MSHTMLEvents   {   generated   by   EventSinkImp   utility   }    
  现在问题是如果用   onclick   事件,对   flash   无效,所以只好用   mousedown(发生在onclick事件前),   但它没有button参数,不知点左键还是右键,   所以左右键都会出现菜单(代码里先去掉注释).  
   
  mousedown   事件能在flash上面发生,这时显示一个菜单就可以屏掉flash的菜单了,   怎么区分左右键.   TMouse区分不了吗?

mark

1,mousedown事件TMouseButton类型的参数,它是个枚举型,可以用来判断是左键还是右键按下.  
      TMouseButton   =   (mbLeft,   mbRight,   mbMiddle);  
   
 

flash   控件可以简单地取消右键

MSHTMLEvents   的mousedown事件只有一个参数   sender:TObject   ,   大家可以先看看例子.  
  跟普通控件的事件是不同的

cangwu_lee(小橙子)   :   我不是用控件,   我是在webbrowser里显示的flash.   右键菜单的关于是不能简单取消的

搞定了  
  终于看明白事件了  
   
      EventObj   :=   (TMSHTMLHTMLDocumentEvents(Sender).Source   as  
                                IHTMLDocument2).parentWindow.event;  
      EventObj.button//这个是鼠标

mark

posted on 2008-09-23 09:36 delphi2007 阅读(321) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。