procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.gogle.com');
Application.OnMessage := MessageEvent;
end;
function GetClassName(hWnd: THandle): string;
var
P: PChar;
begin
GetMem(P, MAX_PATH);
try
Windows.GetClassName(hWnd, P, MAX_PATH);
Result := P;
finally
FreeMem(P);
end;
end;
procedure TForm1.MessageEvent(var Msg: TMsg; var Handled: Boolean);
var
S: string;
begin
Handled := False;
if (Msg.message = WM_RBUTTONDOWN)
or (Msg.message = WM_RBUTTONUP) then
begin
S := GetClassName(Msg.hwnd);
if SameText(S, 'Internet Explorer_Server') then
begin
//MyPopupMenu.Popup
Handled := true;
end;
end;
end;
1.加入一个ApplicationEvents,在OnMessage事件中加入以下代码:
procedure TfrmMain.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if IsChild(WebBrowser1.Handle, Msg.Hwnd) and
((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)) then
begin
// dxBarPopupMenu.PopupFromCursorPos ;//在这里做你想做的事,比如显示你的菜单
Handled:=True;
end;
end;
-------------------------------------------------------
本回复由大傻的破玩意儿【CSDN's forum Explorer】完成!
软件功能强大,速度超快!!支持中...
软件下载地址:http://CoolSlob.ys168.com