滚动条组件(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. sql server 学习分享

    http://www.cnblogs.com/liu-chao-feng/p/6144872.html

  2. TOJ1840: Jack Straws 判断两线段相交+并查集

    1840: Jack Straws  Time Limit(Common/Java):1000MS/10000MS     Memory Limit:65536KByteTotal Submit: 1 ...

  3. 实用jstl实现未登录时不能绕过登录界面的效果

    package com.filter; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; ...

  4. Python web 周总结

    按顺序查询 order_by()    order_by(- ) 下拉框默认显示 <select name="canteen_type_id" id="" ...

  5. kb-07-RMQ线段树--07(动态规划)

    RMQ是一类解决区间最值查询的算法的通称:.一共有四类:在代码中有说明: 下面是ST算法,就是动态规划做法: 来看一下ST算法是怎么实现的(以最大值为例): 首先是预处理,用一个DP解决.设a是要求区 ...

  6. [CODEVS1916] 负载平衡问题(最小费用最大流)

    传送门 输入所有 a[i],求出平均值 sum,每个 a[i] -= sum 那么如果 a[i] > 0,从 s 向 i 连一条容量为 a[i] 费用为 0 的有向边 如果 a[i] < ...

  7. [NOIP2009] $Hankson$ 的趣味题 (数论,gcd)

    题目链接 Solution 此题,用到的结论都是比较浅显的,但是,我竟然没想到反过来枚举... 只有50分... 被自己蠢哭... 结论比较浅显: 1.对于两个正整数\(a\),\(b\),设 \(g ...

  8. [SDOI2013]直径 (树的直径,贪心)

    题目链接 Solution 我们直接找到一条直径 \(s\),起点为 \(begin\),终点为 \(end\). 从前往后遍历点 \(u\) ,若子树中最大的距离与 \(dis(u,begin)\) ...

  9. [SCOI2016] 背单词 (Trie 树,贪心)

    题目链接 大致题意 给你 \(n\) 个字符串, 要求你给出最小的代价. 对于每个字符串: 1.如果它的后缀在它之后,那么代价为 \(n^2\). 2.如果一个字符串没有后缀,那么代价为 \(x\), ...

  10. [BZOJ3261] 最大异或和 (异或前缀和,可持久化Trie)

    Description 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. 2.Q l r x:询问操作, ...