滚动条组件(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. Python虚拟机中的一般表达式(一)

    在Python虚拟机框架这一章中,我们通过PyEval_EvalFrameEx看到了Python虚拟机的整体框架.而这章开始,我们将了解Python虚拟机是如何完成对Python的一般表达式的执行,这 ...

  2. 聊聊、Docker 安装

  3. 九度oj 题目1494:Dota

    题目描述: 大家都知道在dota游戏中,装备是对于英雄来说十分重要的要素. 英雄们不仅可以购买单个的装备,甚至某些特定的装备组合能够合成更强的装备. 为了简化问题,我们将每个装备对于英雄的功能抽象为一 ...

  4. 九度oj 1004

    题目1004:Median 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:17536 解决:4860 题目描述:                        Given an incre ...

  5. git如何忽略文件或者文件夹

    用git开发中会有一些不愿意提交的目录或者文件 在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按 ...

  6. 【bzoj1307】玩具 单调栈

    题目描述 小球球是个可爱的孩子,他喜欢玩具,另外小球球有个大大的柜子,里面放满了玩具,由于柜子太高了,每天小球球都会让妈妈从柜子上拿一些玩具放在地板上让小球球玩. 这天,小球球把所有的N辆玩具摆成一排 ...

  7. 性能测试之七--jdbc

    jdbs用任意协议打开都行,具体脚本见下 在vuser_init里面 #include "Ptt_Mysql.h" vuser_init() { lr_load_dll (&quo ...

  8. HDU——1397Goldbach's Conjecture(二分查找+素数打表)

    Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  9. 学习 WebService 第五步:在Local创建测试用WebService(WSDL)

    [准备] Eclipse+Tomcat7(Tomcat端口修改为不冲突的值) axis2 1.7.7 jar包(没有来这里下载:http://www.apache.org/dyn/closer.lua ...

  10. socket编程-微软小兵

    socket两端建立连接,不断开的连接的情况下做数据交互,客户端发送数据和服务端返回数据.直到客户端要求断开,则关闭连接. 代码目录结构: