当我们使用Flash时,如何在WebBrowser中禁用右键单击! (DELPHI)

时间:2010-11-20 20:47:11

标签: flash delphi browser right-click

当我使用WebBrowser浏览Flash文件时,如何禁用Flash播放器的菜单?

2 个答案:

答案 0 :(得分:4)

发送到WebBrowser的所有消息也通过您的Delphi应用程序传递,因此通过使用TApplicationEvents组件并检查WebBrowser的Handle上的OnMessage事件中的右键单击事件,或其任何子句柄(使用IsChild)并设置Handled,你应该能够阻止它。

代码看起来像这样

procedure TMyForm.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  if (Msg.message=WM_RBUTTONDOWN) and IsChild(WebBrowser1.Handle,Msg.hwnd) then
   begin
    PopupMenu1.Popup(Msg.pt.X,Msg.pt.Y);
    Handled:=true;
   end;
end;

答案 1 :(得分:0)

以另一种方式。

procedure TForm1.FormMouseActivate(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y, HitTest: Integer;
  var MouseActivate: TMouseActivate);
begin
  if Button=mbRight then
  begin
    if (x >= WebBrowser1.Left) and
       (x <= WebBrowser1.Left + WebBrowser1.Width ) and
       (y >= WebBrowser1.Top) and
       (y <= WebBrowser1.Top + WebBrowser1.Height ) then
      MouseActivate := maNoActivateAndEat;
  end;
end;