WebBrowser控件,我指的是System.Windows.Controls.WebBrowser,而不是System.Windows.Forms.WebBrowser。请问,有人知道如何去掉WebBrowser控件中的滚动条?另外,我还想问,如何设定WebBrowser的显示区域?
比如说,WebBrowser小于页面的大小,可以让它显示页面的特定区域吗?
不一定从页面的最左端开始,页面的中间某个区域那样。用System.Windows.Forms.WebBrowser的话,我都能够实现。
只是,我需要用System.Windows.Window做无窗口(windowless)浏览器。
(我是新人,只知道如何用Window做windowless。)有办法把Form(或System.Windows.Forms.WebBrowser)放进Window吗?
或者,有办法把Form弄成windowless吗?
谢谢。

解决方案 »

  1.   

    去掉滚动条的方法:核心代码:WebBrowser1.oleobject.Document.body.Scroll:= ‘no’; 利用这个代码去掉滚动条的前提是webbrowser中必须有打开的网页,也就是在网页加载完完毕后再去掉滚动条。所以首先要判断页面是否加载完毕,如果加载完毕,就执行上面的语句去掉滚动条。
    第一步:在WebBrowser1DocumentComplete事件中置一个标志tag:=1(代表加载完毕) 代码如下:
    procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; 
    const 
       pDisp: IDispatch; 
    var 
       URL: OleVariant); 
    begin 
       tag:=1; //去掉Webbrowser1滚动条的标志 
    end;
    第二步:
    procedure TForm1.SpeedButton1Click(Sender: TObject); 
    var 
       Doc: IHTMLDocument2; 
    begin 
       tag := 0; //去掉Webbrowser1滚动条的标志 
       WebBrowser1.Navigate2(’http://www.163.com’); 
    while (tag=0) do 
         Application.ProcessMessages; 
       WebBrowser1.oleobject.Document.body.Scroll := ‘no’; 
    end;