滚动条组件(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. Socketserver详解

    Python3中的SocketServer socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.sock ...

  2. day02 Python 的模块,运算,数据类型以及方法

    初识pyhton的模块: 什么是模块: 我的理解就是实现一个功能的函数,把它封装起来,在你需要使用的时候直接调用即可,我的印象里类似于shell 的单独函数脚本. python 的模块分为标准的和第三 ...

  3. 再谈H2的MVStore与MVMap

    对H2的[MVStore]: http://www.cnblogs.com/simoncook/p/5188105.html 这篇文章的补充. 概述 我们通常用的map,比如HashMap Linke ...

  4. ORACLE 分区表 相关视图

    1. 显示当前用户可访问的所有分区表信息﹕ ALL_PART_TABLES 2. 显示当前用户所有分区表的信息﹕ USER_PART_TABLES 3. 显示表分区信息 显示数据库所有分区表的详细分区 ...

  5. [uiautomator篇][8] 增加应用读取内置存储卡的权限

    1 要在androidmainfest.xml增加权限(这样之后,在设备上的权限才可以点击,不然是灰色) <uses-permission android:name="android. ...

  6. POJ——3061Subsequence(尺取法或二分查找)

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11224   Accepted: 4660 Desc ...

  7. ACM程序设计选修课——1031: Hungar的得分问题(二)(杨辉三角+二进制转换)

    1031: Hungar的得分问题(二) 时间限制: 1 Sec  内存限制: 64 MB 提交: 15  解决: 10 [提交][状态][讨论版] 题目描述 距离正式选秀时间越来越近了,今天Hung ...

  8. cf359D Pair of Numbers

    Simon has an array a1, a2, ..., an, consisting of n positive integers. Today Simon asked you to find ...

  9. scrapy之小试身手

    要爬取的网址是:http://quotes.toscrape.com/ 磕磕绊绊的写完了 spiders import scrapy from kkk.items import * class Quo ...

  10. poj 2724 Purifying Machine

    Purifying Machine Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5408   Accepted: 1575 ...