主要演示了TApplicationEvents.OnMessage 的第二个参数 Handled 如果是 True, 表示消息已经处理过了, 到此为止.
代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, AppEvnts, OleCtrls, SHDocVw;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
ApplicationEvents1: TApplicationEvents;
procedure FormCreate(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if IsChild(WebBrowser1.Handle,Msg.hwnd) and ((Msg.message=WM_RBUTTONDOWN) or (Msg.message=WM_RBUTTONDBLCLK)) then
begin
Handled:=true;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState:= wsMaximized;
WebBrowser1.Align:=alTop;
WebBrowser1.Navigate('http://www.baidu.com');
end;
end.
转载于猪悟能'S博客 http://www.cnblogs.com/hackpig/archive/2010/02/15/1668591.html
本文演示了如何使用Delphi的TApplicationEvents.OnMessage事件来处理WebBrowser控件的右键点击事件。通过设置参数Handled为True,可以阻止默认的上下文菜单弹出,展示了如何在应用程序中拦截特定的消息。
1387

被折叠的 条评论
为什么被折叠?



