CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

在delphi中怎样屏蔽flash的鼠标右键?

楼主anndy1999(飞雪)2005-04-02 19:24:31 在 Delphi / VCL组件开发及应用 提问

在delphi中使用TShockwaveFlash控件,但怎样屏蔽flash的鼠标右键?另外,能否设置这个flash的透明属性呢? 问题点数:40、回复次数:6Top

1 楼anndy1999(飞雪)回复于 2005-04-02 20:05:17 得分 0

补充一下,是透明属性不是透明度属性哦,Top

2 楼newc_k(帕拉丁)回复于 2005-04-02 22:43:12 得分 30

这个是用在WEBBROWSE上的,你改一下因该就可以了  
   
  procedure   TForm1.ApplicationEvents1Message(var   Msg:   tagMSG;  
      var   Handled:   Boolean);  
  var  
      mPoint   :   TPoint;  
  begin  
      if   IsChild(WebBrowser.Handle,   Msg.Hwnd)   and  
            ((Msg.Message   =   WM_RBUTTONDOWN)   or   (Msg.Message   =   WM_RBUTTONUP)     then  
      begin  
          GetCursorPos(mPoint);  
          PopupMenu1.Popup(mPoint.X,   mPoint.Y);  
          Handled:=True;  
      end;  
  end;  
   
  procedure   TForm1.FormShow(Sender:   TObject);  
  begin  
      Application.OnMessage   :=   ApplicationEvents1Message;  
  end;Top

3 楼ghyghost(爱国人士-许愿池里的希腊老石头)回复于 2005-04-03 00:47:44 得分 0

判断鼠标右键时,加入FLASH控件的HANDLE句柄,这样不至于整个屏蔽掉。。  
   
   
  加透明的效果在FLASH中是wmode参数名,,参数值为transparent,,,  
   
  但在DELPHI中实现的话得需要flash   action脚本,看一下,flash控件中有没有执行的功能。这个没有实现过。Top

4 楼ghyghost(爱国人士-许愿池里的希腊老石头)回复于 2005-04-03 01:11:47 得分 0

看看这个  
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   OleCtrls,   ShockwaveFlashObjects_TLB,   StdCtrls,   Buttons,   ExtCtrls,  
      SHDocVw,mshtml,   ActiveX,   AppEvnts;  
   
  type  
      TForm1   =   class(TForm)  
          WebBrowser1:   TWebBrowser;  
          BitBtn1:   TBitBtn;  
          procedure   FormCreate(Sender:   TObject);  
          procedure   WebBrowser1StartDrag(Sender:   TObject;  
              var   DragObject:   TDragObject);  
          procedure   BitBtn1EndDrag(Sender,   Target:   TObject;   X,   Y:   Integer);  
          procedure   FormShow(Sender:   TObject);  
      private  
          {   Private   declarations   }  
          //簿笆跌怠  
          procedure   WMNCHitTest(var   msg:   TWMNCHitTest);   message   WM_NCHITTEST;          
      public  
          {   Public   declarations   }  
          procedure   getPhoto();  
      end;  
   
  var  
      Form1:   TForm1;  
   
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
      WebBrowser1.Navigate('about:blank');  
  end;  
   
  procedure   TForm1.getPhoto;  
  var   DC   :   HDC;  
          bp   :   TBitmap;  
  begin  
      try  
      Form1.Hide;  
      except  
      end;  
      //WebBrowser1.Hide;  
      bp   :=   TBitmap.Create;  
      bp.PixelFormat   :=   pf24bit;  
      bp.Width   :=   WebBrowser1.Width;  
      bp.Height   :=   WebBrowser1.Height;  
      DC   :=   GetDC(Form1.Handle);  
      BitBlt(bp.Canvas.Handle,0,0,bp.Width,bp.Height,DC,WebBrowser1.Left+2,WebBrowser1.Top+2   ,SRCCOPY);  
      ReleaseDC(bp.Canvas.Handle,DC);  
      bp.SaveToFile('CC.bmp');  
      Form1.Show;  
  end;  
   
  procedure   TForm1.WMNCHitTest(var   msg:   TWMNCHitTest);  
  begin  
      if   msg.Result   =   htClient   then  
          msg.Result   :=   htCaption;  
  end;  
   
  procedure   TForm1.WebBrowser1StartDrag(Sender:   TObject;  
      var   DragObject:   TDragObject);  
  const  
      SC_DRAGMOVE   =   $F012;  
  begin  
   
          ReleaseCapture;  
          Form1.Perform(WM_SYSCOMMAND,   SC_DRAGMOVE,   0);  
          getPhoto;  
          WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)   +   't1.html');  
   
  end;  
   
  procedure   TForm1.BitBtn1EndDrag(Sender,   Target:   TObject;   X,   Y:   Integer);  
  begin  
      Screen.Cursor   :=   crDefault;  
  end;  
   
  procedure   TForm1.FormShow(Sender:   TObject);  
  begin  
      getPhoto;  
      WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)   +   't1.html');  
  end;  
   
  end.  
  Top

5 楼ghyghost(爱国人士-许愿池里的希腊老石头)回复于 2005-04-03 01:12:26 得分 0

另外一种方法是设置FORM透明色的方法Top

6 楼metal11516580(金属狂人)回复于 2005-04-03 08:45:16 得分 10

procedure   TMyFlash.WMRBUTTONDOWN(var   msg:   TMsg);  
  var  
      P:   Tpoint;  
  begin  
      if   popupmenu   <>   nil   then   //加入自己的事件  
      begin  
          GetCursorPos(p);   //获得当前鼠标位置  
          popupmenu.Popup(p.x,   p.y);   //弹出菜单  
      end;  
  end;  
   
   
   
  procedure   TForm1.ApplicationEvents1Message(var   Msg:   tagMSG;  
      var   Handled:   Boolean);  
  begin  
      if   Msg.message   =   WM_RBUTTONDOWN   then  
   
      begin  
        //如果去掉下面这行就是屏蔽右键菜单,现在为自定义右键菜单  
          popupmenu1.Popup(Mouse.CursorPos.X,   Mouse.CursorPos.Y);  
          Handled   :=   True;  
      end;  
  end;  
  ------------------------------------  
  心中多少的创伤,不可抵挡的空虚,卑躬屈膝的一生,今天只想冲出那枷锁,就要象狂人,金属者---金属狂人Top

相关问题

  • 如何屏蔽鼠标右键?
  • 怎样屏蔽鼠标右键?
  • 如何屏蔽鼠标右键?
  • 如何屏蔽flash的鼠标右键
  • 请问如何屏蔽鼠标右键
  • 如何屏蔽鼠标右键?
  • 如何屏蔽鼠标右键?
  • FolderBrowserDialog怎么屏蔽鼠标右键?
  • 怎样屏蔽鼠标右键?
  • 怎样屏蔽鼠标右键?

关键词

  • 屏蔽
  • 鼠标
  • delphi
  • flash
  • 控件
  • 右键
  • mpoint
  • tform
  • applicationevents
  • webbrowser

得分解答快速导航

  • 帖主:anndy1999
  • newc_k
  • metal11516580

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo