如何获得网页的scrollbar的x和y的移动距离啊!!

ttoth12 2007-11-15 09:07:05
请问各位大侠,如何获得网页的scrollbar的x和y的移动距离啊!!
...全文
156 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaojing7 2007-11-16
  • 打赏
  • 举报
回复
TopLeftChanged是每当你的StringGrid的列或行发生滚动时触发的。随便作了一个例子你看看可以计算列滚动了多少。不过在滚动之前你要单击一下bitbtn1,滚动完成以后要单击一下bitbtn2就可以显示出列滚动的数值了。
var   
Form1: TForm1;
OldRow,NewRow,HasScrolled:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to 1000 do
begin
if StringGrid1.ColCount<i then
StringGrid1.ColCount:=StringGrid1.ColCount+1;
for j:=0 to 4 do
StringGrid1.Cells[i,j]:=IntToStr(Random(100));
end;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin //取出滚动之前的列位置
HasScrolled:=0;
OldRow:=GetScrollPos(StringGrid1.Handle,SB_HORZ);
end;

procedure TForm1.StringGrid1TopLeftChanged(Sender: TObject);
begin
NewRow:=GetScrollPos(StringGrid1.Handle,SB_HORZ);
If NewRow<>OldRow then
begin //如果是列滚动的话
if NewRow>OldRow then
Inc(HasScrolled)
else
Dec(HasScrolled);
OldRow:=NewRow;
end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin//显示出滚动了的位置
ShowMessage('The column has scrolled:'+IntToStr(HasScrolled));
end;
balibell 2007-11-16
  • 打赏
  • 举报
回复
有<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

用document.documentElement.scrollLeft

没有就用document.body.scrollLeft
xiaojing7 2007-11-16
  • 打赏
  • 举报
回复
var   
P1,P2:integer;
begin
P1:=GetScrollPos(StringGrid1.Handle, SB_VERT);//取垂直滚动条的位置
//..........发生滚动事件..............
P2:=GetScrollPos(StringGrid1.Handle, SB_VERT);
ShowMessage(IntToStr(P2-P1));//这个就是滚动的位置
end;
nicholsky 2007-11-15
  • 打赏
  • 举报
回复
document.body.scrollLeft/document.documentElement.scrollLeft
document.body.scrollTop/document.documentElement.scrollTop
希望没理解错误。
JS中的常用对象[转载]web 技术 2010-06-05 15:00:30 阅读3 评论0 字号:大中小 订阅 [removed] Window For JavaScript 熟练window对象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、setInterval、clearInterval、moveBy、resizeBy、scrollBy方法的使用 掌握window对象的moveTo、resizeTo、scrollTo、print方法的使用 熟练掌握window对象的status、location、name、self、opener属性的使用  Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到BODY、FRAMESET或FRAME元素时,都会自动建立window对象的实例。另外,该对象的实例也可由window.open()方法创建。由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.[removed]()可以简写成: [removed]()。  在窗口中觖发本窗口对象的任何方法和属性时可以省去窗口的实例名称。例如给当前的myWin窗口设置status属性时,可以只用status而不用myWin.status。但是,在事件处理中调用location属性、close()方法或open()方法时必须使用实例名称。 6-2-1 window对象的方法 window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back forward home stop print blur focus captureEvent enableExternalCapture disableExternalCapture handleEvent releaseEvent routeEvent scroll   1. open方法   语法格式: window.open(URL,窗口名称,窗口风格)   功能:打开一个新的窗口,并在窗口中装载指定URL地址的网页。   说明: open方法用于打开一个新的浏览器窗口,并在新窗口中装入一个指定的URL地址 ; open方法在打开一个新的浏览器窗口时,还可以指定窗口的名称(第二个参数); open方法在打开一个新的浏览器窗口时,还可以指定窗口的风格(第三个参数), 窗口风格有以下选项,这些选项可以多选,如果多选,各选项之间用逗号分隔: toolbar:指定窗口是否有标准工具栏。当该选项的值为1或yes时,表示有标准 工具栏,当该选项的值为0或no时,表示没有标准工具栏; location:指定窗口是否有地址工具栏,选项的值及含义与toolbar相同; directories:指定窗口是否有链接工具栏,选项的值及含义与toolbar相同; status:指定窗口是否有状态栏,选项的值及含义与toolbar相同; menubar:指定窗口是否有菜单,选项的值及含义与toolbar相同; scrollbar:指定当前窗口文档大于窗口时是否有滚动条,选项的值及含义与 toolbar相同; resizable:指定窗口是否可改变大小,选项的值及含义与toolbar相同; width:以像素为单位指定窗口的宽度,已被innerWidth取代; height:以像素为单位指定窗口的高度,已被innerHeight取代; outerWidth:以像素为单位指定窗口的外部宽度; outerHeight:以像素为单位指定窗口的外部高度; left:以像素为单位指定窗口距屏幕左边的位置; top:以像素为单位指定窗口距屏幕顶端的位置; alwaysLowered:指定窗口隐藏在所有窗口之后,选项的值及含义与toolbar相同 ; alwaysRaised:指定窗口浮在所有窗口之上,选项的值及含义与toolbar相同; dependent:指定打开的窗口为当前窗口的一个子窗口,并随着父窗口的关闭而 关闭,选项的值及含义与toolbar相同; hotke
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 型、接口类型、委托类型和数组类型。 变量的类型声明 变量的类型声明 每个变量必须预先声明其类型。如 int a; int b = 100; float j = 4.5; string s1; 用 object 可以表示所有的类型。 预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例 object o = null; 范围 string sbyte short int long string s = "hello"; sbyte val = 12; short val = 12; int val = 12; long val1 = 12; -128 到 127 -32,768 到 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808 到 第1页 C#(WINFORM)学习 long val2 = 34L; 到 9,223,372,036,854,775,807 byte ushort 8 位无符号整型 16 位无符号整型 byte val1 = 12; ushort val1 = 12; uint val1 = 12; uint 32 位无符号整型 uint val2 = 34U; ulong val1 = 12; ulong val2 = 34U; ulong 64 位无符号整型 ulong val3 = 56L; ulong val4 = 78UL; float 单精度浮点型 float val = 1.23F;7 位 double val1 = 1.23; double 双精度浮点型 double val2 = ±5.0 × 10?324 ±1.7 × 10 308 0 到 255 0 到 65,535 0 到 4,294,967,295 0 到 18,446,744,073,709,551,615 ±1.5 × 10?45 ±3.4 × 10 38 到 到 4.56D;15-16 布尔型;bool 值或为 真或为假 字符类型;char 值是 一个 Unicode 字符 精确的小数类型, 具有 28 个有效数字 bool val1 = true; bool val2 = false; char val = 'h'; decimal val = bool char decimal DateTime ±1.0 × 10?28 ±7.9 × 10 28 到 1.23M;28-29 变量转换 简单转换: float f = 100.1234f; 可以用括号转换: short s = (short)f 也可以利用 Convert 方法来转换: string s1; s1=Convert.ToString(a); MessageBox.Show(s1); 常用 Convert 方法有: 第2页 C#(WINFORM)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 Convert.ToSByte Convert.ToSingle Convert.ToString Convert.ToUInt16 Convert.ToUInt32 Convert.ToUInt64 备注 Math 类 常用科学计算方法: C# Math.Abs Math.Sqrt Math.Ro

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧