当我使用WebBrowser浏览Flash文件时,如何禁用Flash播放器的菜单?
答案 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;