如何屏蔽掉webbrowser的鼠标右键,再屏蔽掉左键的双击和拖动功能,只保留左键的单击功能,以此达到用webbrowser浏览word文档时只能用左键翻页和关闭,不能进行打印,保存,选择等功能(键盘所有健已经屏蔽了)
解决方案 »
- 控件功能扩充——数据感知控件开发问题,请各位有丰富控件经验的高手进来!!!
- tmysql控件怎么使用?
- 一个dbgrid的问题
- 高手请帮忙
- 在DLL中动态不能创建TADOQuery问题,请指点指点
- Delphi怎樣壓縮和解壓縮?
- 怎么将table1数据库的所有字段增加combobox1中。
- TLabeledEdit在程序里面给CAPTION赋值,而不是在 Object Inspector定义。如何写
- 关于自定义打印机纸张尺寸的问题(救名啊!!!!!!!!)
- 在程序中怎样阻止TreeView1.OnChange事件的发生?
- 两个问题。1.我想做一个主窗体,有个菜单,打开某个模块时,其打开的模块窗口最大化后不能大过主窗体,如何实现?2.如何取年份?比如我想
- fastreport如何加入自定义函数?(高手帮帮忙吧!)
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, StdCtrls;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
var
hhk:hhook;
{$R *.dfm}
function mousehookproc(ncode:smallint;wparam,lparam:integer):hresult;stdcall;
begin
//515:dbclick;516:rightbuttondown;517:rightbuttonup;
if (wparam>=515)and(wparam<=517) then
result:=-1
else
if ncode<0 then
result:=callnexthookex(hhk,ncode,wparam,lparam)
else
result:=0;end;
procedure TForm1.FormCreate(Sender: TObject);
begin
webbrowser1.Navigate('www.csdn.net');
hhk:=setwindowshookex(WH_MOUSE,@mousehookproc,0,getcurrentthreadid);
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
unhookwindowshookex(hhk);
end;end.
private
{ Private declarations }
procedure ProcessMsg(var Msg: TMsg; var Handled: Boolean);
.......
procedure Tform1.FormCreate(Sender: TObject);
begin
Application.OnMessage := ProcessMsg;
end;procedure Tform1.ProcessMsg(var Msg: TMsg; var Handled: Boolean);
begin
with Msg do
if ((message = WM_RBUTTONDOWN) or
(message = WM_RBUTTONDBLCLK)) or
(message = WM_CONTEXTMENU) then
begin
Handled := True;
end
end;