如何去掉浏览器的滚动条?(50分)

  • 主题发起人 主题发起人 半分钟
  • 开始时间 开始时间

半分钟

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi制作了一个浏览器,
想去掉浏览器的滚动条,
请问怎样才能解决吗?
 
(WebBrowser1.DefaultInterface.Document as IHTMLDocument2).parentWindow.execScript('……','javascript');
中间写段脚本。取消滚动条。
 
WebBrowser1.oleobject.Document.body.Scroll := 'no';
 
楼上正解[:D]
procedure TfrmMain.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
ib:IWebBrowser2;
begin
if (pDisp.QueryInterface(IID_IWebBrowser2,ib)=0) and (ib.Container=nil) then
WebBrowser1.OleObject.document.body.scroll:='no';
end;
 
谢谢楼上的各位朋友了[:)]
我查资料看到也是说要用
WebBrowser1.oleobject.Document.body.Scroll := 'no';
但我加入这句代码后就会报错,
再帮我看一下好吗?
我的原代码如下
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ToolWin, ComCtrls, ExtCtrls, WinSkinData, ImgList,
OleCtrls, SHDocVw, StdCtrls, shellapi,AppEvnts;

type
TForm1 = class(TForm)
ImageList1: TImageList;
SkinData1: TSkinData;
WebBrowser1: TWebBrowser;
ToolBar1: TToolBar;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
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.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.163.com');

end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONDBLCLK) then
begin
if IsChild(Webbrowser1.Handle, Msg.hwnd) then
begin
ShowMessage('感谢您使用简易浏览器');
Handled := True;
end;
end;
end;

end.

要把“WebBrowser1.oleobject.Document.body.Scroll := 'no';”放在哪个位置才行呢?
 
首先你要确定 document.body是有内容的,所以如果是空页面时调用肯定会出错
我建议你写到DocumentComplete事件里
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
{在页面打开后设置滚动条消失}
WebBrowser1.oleobject.Document.body.Scroll := 'no';
end;
 
解决了,
太谢谢各位啦
 
后退
顶部