用webbrowser只读打开Word的问题(200)

T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
使用webbrowser控件打开Word文档后如何屏蔽右键菜单呀?不想让人修改
 
H

hs-kill

Unregistered / Unconfirmed
GUEST, unregistred user!
试试给webbrowser一个空popmenu
 
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
楼上的先自己试试吧,大富翁的高手太少了
 
S

sury8

Unregistered / Unconfirmed
GUEST, unregistred user!
自己发帖 也不百度以下 这个右击菜单的对了去了啊 //WebBrowser 中的右键菜单//先要添加ApplicationEvents1,指定其Message事件//屏蔽右键菜单procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);begin with Msg do begin if not IsChild(WebBrowser1.Handle, hWnd) then Exit; Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU); end;end;//替换右键菜单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); //弹出popupmenu1的菜单 Handled:=True; end;end;--------------------------------------------------------------------------------//新页面写入begin WebBrowser1.Navigate('about:blank'); WebBrowser1.OleObject.Document.Writeln('ok');end;//从流中写入:var ms: TMemoryStream;begin ms := TMemoryStream.Create; Memo1.Lines.SaveToStream(ms); ms.Position := 0; (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); ms.Free;end;//禁止提示脚步错误procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);begin WebBrowser1.Silent := True;end;//禁止弹出窗口procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);begin Cancel := True;end;
 
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
发帖以前你也应该试试.我是要用WebBrowser打开DOC、PPT、Excel文件,不想让别人修改文件,并屏蔽Word的右键菜单。
 
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2510118...来自:chaha, 时间:2004-3-22 1:16:27, ID:2514307这样子不能根本上解决问题,你可以在WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);事件里取得word对象的接口:_Document然后想怎么对word控制都行了。QueryInterface(_Document, Doc); 什么意思???
 
N

neugls

Unregistered / Unconfirmed
GUEST, unregistred user!
最根本的解决办法 是不让word或webBrowser去接收消息,直接把这个消息掐掉!当然,这个消息就是你的右键消息!
 
T

tswhq

Unregistered / Unconfirmed
GUEST, unregistred user!
楼上的,有没有例子?
 
L

lyq2276959

Unregistered / Unconfirmed
GUEST, unregistred user!
只读文件不是只读的吗???
 
W

wsy539

Unregistered / Unconfirmed
GUEST, unregistred user!
友益文书软件导入word后,设置不可复制后,生成exe后,没有复制与编辑功能
 
顶部