滚动条组件(TScrollBar)此组件是一个Windows滚动条,用于滚动窗口、组件内容。许多控制有滚动条属性,它们把滚动条作为自己的一部分,对于没有完整滚动条的控制,TScrollBar组件提供了一个附加的功能,运用它可以使某些控制的内容易于操作。

1、TScrollBar组件的典型用法

一般情况下,滚动条是自动加入的,例如前面讲的列表框,当项目不能完全显示时,列表框将自动加上滚动条。当用户操作滚动条时,列表自动滚动。

如果想自己操纵窗口滚动,就要用到TScrollBar组件,当用户在滚动条上操作时,将触发OnScroll事件,这样就可以操纵怎样滚动了。

在通常情况下,用户只利用OnScroll事件,并在代码中引用Position属性,获取TScrollBar组件中小方块的位置,然后利用此值进行操作,例如设置文字的字号大小、颜色的取值等。

2、TScrollBar组件的重要属性

Kind---------此属性用于设置滚动条是水平方向的还是垂直方向的 
LargeChange--设置滚动条滚动的距离

Max------------此属性用于设置滚动条的最终值 
Min------------此属性用于设置滚动条的起始值 
PageSize-------当按PgUp或PgDn键时,设置滚动条滚动的距离Position设置或返回滚动条中小方块的位置 
SmallChange----用户按下滚动条两端的箭头时滚动条滚动的距离

(1)Kind属性 
Kind属性用于设置滚动条是水平方向的还是垂直方向。它有两个取值: 
. sbHorrizontal:水平方向; 
. sbVertical:垂直方向。

(2)LargeChange属性
当用户单击滚动条内(不是滚动条两端的箭头)时,滚动条滚动的距离是由LargeChange属性设置的,默认是 
1,这是一个相对数。假设LargeChange属性设为10,如果Max属性减去Min属性为80,则用户只要按8次滚动条就能从一端滚到另一端。

(3)Max属性和Min属性
这两个属性分别用来设置滚动条的最终值和起始值,它们的取值在-2147483648和2147483647之间。 
Max属性取值必须大于Min属性,并且必须为0或正整数。

(4)PageSize属性
当用户按PgUp或PgDn键时,滚动条滚动的距离是由PageSize属性设置的,默认是1。

(5)Position属性 
Position属性用于设置或返回滚动条中小方块的位置,可以在设计期设置Position属性指定的小方块的起始位置,也可以在运行期修改Position属性使滚动条滚动。

(6)SmallChange属性 
SmallChange属性与LargeChange属性相似,不同的是,它是用户按滚动条两端的箭头时滚动条滚动的距离,默认值是1。

3、TScrollBar组件的重要事件

OnChange-------------用户操作滚动条或者通过编程直接修改 
Position-------------属性的值,都会触发该事件 
OnScroll-------------当用户操作滚动条时将触发这个事件

(1)OnChange事件
用户操作滚动条或者通过编程直接修改Position属性的值,都会触发该事件。 
OnScroll事件只在用户操作滚动条时才会发生,OnChange事件发生在OnScroll事件之后。

(2)OnScroll事件
当用户操作滚动条时将触发这个事件。其中ScrollPos参数返回滚动条中小方块的位置ScrollCode参数返回滚动条的状态。可以是以下各值。
. scLineUp:用户按下滚动条的左或上箭头或者键盘上的向上方向键。 
. scLineDown:用户按下滚动条的右或下箭头或者键盘上的向下方向键。 
. scPageUp:用户单击滚动条内小方块左边或上边的区域或者按下PgUp键。 
. scPageDown:用户单击滚动条内小方块右边或下边的区域或者按下PgDn键。 
. scPosition:用户在滚动条内拖拽小方块并且已释放。 
. scTrack:用户正在拖拽小方块。 
. scTop:用户把小方块移到滚动条的上端或左端。 
. scBottom:用户把小方块移到滚动条的下端或右端。 
. scEndScroll:用户操作滚动条后释放了鼠标或按键。

Delphi TScrollBar 用于滚动窗口、组件内容的更多相关文章

  1. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  2. 第二百零三节,jQuery EasyUI,Window(窗口)组件

    jQuery EasyUI,Window(窗口)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Window(窗口)组件的使用方法,这个组件 ...

  3. delphi完美经典-第16章 Delphi数据库程序设计----使用BDE组件

    第16章 Delphi数据库程序设计----使用BDE组件 Delphi访问数据库的方式有:ADO.BDE.dbExpress.InterBase Express. 一.TDataSet组件 虽然De ...

  4. 使用MVVM DataTriggers在WPF XAML视图之间切换/Window窗口自适应内容大小并居中

    原文 使用MVVM DataTriggers在WPF XAML视图之间切换 相关文章: http://www.technical-recipes.com/2016/switching-between- ...

  5. iOS10 UI教程基础窗口的内容与设置起始窗口

    iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...

  6. Swing应用开发实战系列之四:组件内容实时刷新问题

    窗口组件动态刷新问题,在dotnet中根本不算什么问题,用几句代码很轻松就能搞定,但是在Swing中,实现动态刷新组件内容却是一件颇为吃力的事情.譬如针对我们经常用到的刷新JLable.JTextFi ...

  7. Vue结合slot插槽分发父组件内容实现高度复用、更加灵活的dialog组件

    之前写过一篇关于vue实现dialog会话框组件的文章(http://www.cnblogs.com/fozero/p/8546883.html)[http://www.cnblogs.com/foz ...

  8. DELPHI中MDI子窗口的关闭和打开

    DELPHI中MDI子窗口的关闭 和打开       Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会   发觉该子窗口只是最小化,而不是你预期的那样被 ...

  9. DELPHI中MDI子窗口的关闭 和打开

    Delphi中MDI子窗口的关闭方式默认为缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭.解决办法是在子窗口的OnClose事件处理过程中加入如 ...

随机推荐

  1. [每日App一]QQ主题要逆天!轻轻松松月入30万!

    听从吾师秦刚(微信或QQ:1111884)酋长的建议,谋哥(微信viyi88)我开始新的征程,每日更新一篇干货文章(要坚持啊!否则被酋长鄙视了). 好了,废话不多说,今天我给大家揭秘一个你从来想也木有 ...

  2. Selenium WebDriver的多浏览器测试

    1. IE浏览器,需要配合下载IEDriverSever.exe的驱动程序,目前selenium支持IE9以上. (驱动程序下载链接:https://pan.baidu.com/s/1YpaUsIs1 ...

  3. Xshell如何上传下载服务器文件

    Xshell远程连接服务器后,可以通过sz,rz下载上传文件到服务器. 安装命令: yum install lrzsz 从服务端发送文件到客户端: sz filename 选择下载文件要保存的目录 从 ...

  4. 正则表达式与python中re模块

    一个网站,正则表达式入门的,很好 http://www.jb51.net/tools/zhengze.html 下面这个包含对python中re的介绍,也是很不错的http://www.w3cscho ...

  5. HDU——2068RPG的错排(错排公式)

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  6. bzoj1076【SCOI2008】奖励关

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1076 有n种物品等概率落下,求期望最优收益 sol:  一眼看上去就是状压dp吧QAQ数据范围 ...

  7. Python Base Three

    //sixth day to study python(2016/8/7) 32. In python , there are have an special type dictionary , it ...

  8. OpenMP 并行编程

    OpenMP 并行编程 最近开始学习并行编程,目的是为了提高图像处理的运行速度,用的是VS2012自带的OpenMP. 如何让自己的编译器支持OpenMP: 1) 点击 项目属性页 2)点击 配置 3 ...

  9. scrapy的调试方法

    Parse命令,Scrapy shell,logging 一 Parse命令 检查spider输出的最基本方法是使用Parse命令.这能让你在函数层上检查spider哥哥部分的效果,其十分灵活并且已用 ...

  10. ajax提交数据服务端返回报错

    报错如下: if response.get('X-Frame-Options') is not None:AttributeError: 'str' object has no attribute ' ...