WebBrower的右键菜单怎么样屏蔽掉;???(18分)

  • 主题发起人 主题发起人 laohe
  • 开始时间 开始时间
L

laohe

Unregistered / Unconfirmed
GUEST, unregistred user!
在论坛中找到

放一个ApplicationEvents,在OnMessage中.........

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
mPoint : TPoint;
begin
if IsChild(WebBrowser1.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;

最没有作用
 
怎么没有人回答,难到高手都没有了吗

现在很多问题问了没有人答
 
上面的方法行呀,我就是用这个。
 
我试也不能屏蔽,请问lfpsoft,你是如何做的,请明示!谢谢!!
 
我用的就是上面的方法,因为上面的代码和我的是一样的。
你不信可以下载个DEMO看看。
http://www.lkgarden.com/lfpsoft/index.zip
不过在这个例子里我弹出的不是POPMENU,而是另外的一种菜单。
不过我试过用POPMENU也没有问题的。
 
还有一个方法:

{
demonstrate a mouse hook in a form.
}
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtrls, SHDocVw, ComCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
FMHook: HHOOK;
function FMHookProc(Code: Integer; WParam: Longint; var Msg: TMsg): Longint; stdcall;

implementation

{$R *.DFM}

function FMHookProc(Code: Integer; WParam: Longint; var Msg: TMsg): Longint; stdcall;
begin
if Msg.Message = WM_RBUTTONDOWN then
with form1 do
begin
//你还可以先判断一下位置。
Msg.Message := 0;
end ;
Result := CallNextHookEx(FMHook, Code, WParam, Longint(@Msg)); //放出消息给下一个.
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FMHook := SetWindowsHookEx(WH_GETMESSAGE, @FMHookProc, 0, GetCurrentThreadID);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('www.vckbase.com');
end;

end.
 
多人接受答案了。
 
后退
顶部