可以正常播放flash动画,但是在那个动画上单击鼠标右键时和在IE中一样,总是弹出一个菜单,烦人,有办法解决么?谢谢!!
100分一定给!

解决方案 »

  1.   

    从FLASH.OCX中生成的那个窗口类, 你重载一下 ONLBUTTONDOWN , 什么都不做即可.
      

  2.   

    楼上的众位兄弟,我用的是Flash.ocx,用它生成的那个窗口类定义了一个变量,能详细说说如何重载这个消息么,我没有看到这个消息啊!
      

  3.   

    选择project,add to project下的插入组件,插入插件,应该会自动插入其他几个文件。重载TShockwaveFlash里面的消息。dephi可以这样实现这个功能。他重载了wndproc
    procedure TShockwaveFlash.WndProc(var Message:TMessage); 
    begin 
        if not (csDesigning in ComponentState) then begin 
           if ( Message.Msg=WM_RBUTTONDOWN ) and ( Menu=False ) then begin 
              // Don't show de popup menu 
              Message.Result := 0; 
           end else inherited WndProc(Message); 
           Exit; 
        end; 
        inherited WndProc(Message); 
    end; 
    ...
      

  4.   

    多谢楼上,在VC中如何找到WM_RBUTTONDOWN 这个消息啊!?
      

  5.   

    可以在Flash控件的属性窗口中把Menu属性设为false,这样就不出现高级功能了,但还是出现弹出菜单,所以此方案不行,怎么能弄得干干净净呢?!帮忙啊,朋友们!
      

  6.   

    我也曾想在窗口中截取消息:BOOL PreTranslateMessage( MSG* pMsg )
    {
      if (pMsg->hWnd == flash窗口句柄)
      {
       return 0;
      }
    }但怎么得到flash窗口的句柄呢?
    这样行么?