ieConst.pas 和 IEDocHostUIHandler.pas

如何禁止用户查看源代码)

默认情况下,在显示HTML的WebBrowser上点击鼠标右键,会显示一个弹出菜单,和IE中看到的一样。通过这个菜单用户可以查看HTML的源代码。因此有时候我们需要屏蔽该菜单。和该菜单相关的接口是IEDocHostUIHandler。已经用人对它进行了封装,详见ieConst.pasIEDocHostUIHandler.pas。使用方法如下:

var
      Form1: TForm1;
      FDocHostUIHandler: TDocHostUIHandler;
    ...

    implementation
    ...

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FDocHostUIHandler := TDocHostUIHandler.Create;
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      FDocHostUIHandler.Free;
    end;

    procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
      pDisp: IDispatch; var URL: OleVariant);
    var
      hr: HResult;
      CustDoc: ICustomDoc;
    begin
      hr := WebBrowser1.Document.QueryInterface(ICustomDoc, CustDoc);
      if hr = S_OK then
        CustDoc.SetUIHandler(FDocHostUIHandler);
    end;

有时你可能还需要定制自己的右键菜单,这是还是要借助于IEDocHostUIHandler,具体实现方法可以看看MSDN Library。

posted @ 2012-01-02 09:44  stma  阅读(554)  评论(0)    收藏  举报