怎样屏蔽掉shockwaveflash控件的右键菜单?以便使用自己的菜单。如果用消息机制的话,能否给出具体实现代码?急等!!!谢谢!!!!!!!!!

解决方案 »

  1.   

    public
        { Public declarations }
        procedure OnAppMsg(var msg: tmsg;var handled: boolean);procedure TForm1.FormCreate(Sender: TObject);
    begin
      WebBrowser1.Navigate('http://www.163.com');
      Application.OnMessage := OnAppMsg;
    end;procedure TForm1.OnAppMsg(var msg: tmsg; var handled: boolean);
    begin
      if (msg.message = wm_rbuttondown) then
      begin
        showmessage(inttostr(WebBrowser1.Handle));
        //showmessage(inttostr(windowfrompoint(ScreenToClient(msg.pt))));
       // showmessage(inttostr(msg.lParam));
        //showmessage(inttostr(longint(@msg.wParam)));
        showmessage('trap browser mouse');
      end
      else
        inherited;
    end;
      

  2.   

    create中:
      application.onmessage:=mymessage;
    PUBLISH中:
      procedure mymessage(var msg:tmsg;var handled:boolean);procedure TForm1.mymessage(var msg: tmsg; var handled: boolean);
    begin
      if (msg.message=wm_rbuttondown) and (msg.hwnd=ShockwaveFlash1.handle) then
      begin
        popupmenu1.Popup(Mouse.CursorPos.X,Mouse.CursorPos.Y);
        handled:=true;
      end;
    end;