2.4.12VCL标准组件
组件面板中包含能够处理多种
![](/icons/23880chengxu.gif)
设计任务
![](/icons/23880de.gif)
组件
![](/icons/23880dou2.gif)
你可以在组件面板中增加、删除或重新排列组件
![](/icons/23880dou.gif)
还能创建由几个组件组成
![](/icons/23880de.gif)
“模板(templates)”和“框架(frames)”
![](/icons/23880dou2.gif)
组件面板中
![](/icons/23880de.gif)
组件根据功能用途分页安排
![](/icons/23880dou2.gif)
在缺省配置中出现哪些页面取决于所运行
![](/icons/23880de.gif)
C
![](/icons/23880jiajia.gif)
Builder
![](/icons/23880de.gif)
版本
![](/icons/23880dou2.gif)
表2-1列出了典型
![](/icons/23880de.gif)
缺省页及其包含
![](/icons/23880de.gif)
组件种类
![](/icons/23880dou2.gif)
联机帮助提供有关缺省组件面板组件
![](/icons/23880de.gif)
信息
![](/icons/23880dou2.gif)
对于ActiveX及Samples页中
![](/icons/23880de.gif)
组件
![](/icons/23880dou.gif)
只提供例子而没有文档
![](/icons/23880dou2.gif)
1、文本Control控件
许多应用
![](/icons/23880chengxu.gif)
都需要显示文本或允许用户输入文本
![](/icons/23880dou2.gif)
用于此类用途
![](/icons/23880de.gif)
Control控件
![](/icons/23880dou.gif)
其类型依赖于信息
![](/icons/23880de.gif)
多少及格式(见表2-2)
![](/icons/23880dou2.gif)
(1)文本Control控件共同属性
所有
![](/icons/23880de.gif)
文本Control控件都具有这些共同属性:
·Text
![](/icons/23880dou.gif)
确定出现在编辑框或备注Control控件中
![](/icons/23880de.gif)
文本
·CharCase
![](/icons/23880dou.gif)
强制文本以小写或大写输入
![](/icons/23880dou2.gif)
·ReadOnly
![](/icons/23880dou.gif)
指定是否允许用户修改文本
![](/icons/23880dou2.gif)
·MaxLength
![](/icons/23880dou.gif)
限制Control控件中
![](/icons/23880de.gif)
![](/icons/23880zifu.gif)
数
![](/icons/23880dou2.gif)
·PasswordChar
![](/icons/23880dou.gif)
通过显示单个
![](/icons/23880zifu.gif)
(通常是星号)隐藏文本
![](/icons/23880dou2.gif)
·HideSelection
![](/icons/23880dou.gif)
指定Control控件中被选中
![](/icons/23880de.gif)
文本是否在Control控件失去焦点时依然保持高亮状态
![](/icons/23880dou2.gif)
(2)备注和RichtextControl控件共享
![](/icons/23880de.gif)
属性
处理多行文本
![](/icons/23880de.gif)
备注和RichtextControl控件有
![](/icons/23880yi.gif)
些共同
![](/icons/23880de.gif)
属性:
·Alignment
![](/icons/23880dou.gif)
指定文本在Control控件内
![](/icons/23880de.gif)
对齐方式
![](/icons/23880dou2.gif)
·Text
![](/icons/23880dou.gif)
属性指定Control控件中包含
![](/icons/23880de.gif)
文本
![](/icons/23880dou2.gif)
应用
![](/icons/23880chengxu.gif)
通过检查Mod
![](/icons/23880if.gif)
y属性可以识别文本是否被修改
![](/icons/23880dou2.gif)
·Lines
![](/icons/23880dou.gif)
包含诸如串列表
![](/icons/23880de.gif)
文本
![](/icons/23880dou2.gif)
·OEMConvert
![](/icons/23880dou.gif)
确定是否在输入文本临时将其从ANSI转换为OEM
![](/icons/23880zifu.gif)
![](/icons/23880dou2.gif)
这对检查文件名很有用
![](/icons/23880dou2.gif)
·WordWrap
![](/icons/23880dou.gif)
确定是否文本在右边缘换行
![](/icons/23880dou2.gif)
·WantReturns
![](/icons/23880dou.gif)
确定是否允许用户在文本中插入硬回车
![](/icons/23880dou2.gif)
·WantTabs
![](/icons/23880dou.gif)
确定是否允许用户在文本中插入Tab
![](/icons/23880dou2.gif)
·AutoSelect
![](/icons/23880dou.gif)
确定是否当Control控件激活时自动选中(高亮)文本
![](/icons/23880dou2.gif)
·SelText
![](/icons/23880dou.gif)
包含文本
![](/icons/23880de.gif)
当前选中(高亮)部分
![](/icons/23880dou2.gif)
·SelStart和SelLength
![](/icons/23880dou.gif)
指明文本选中部分
![](/icons/23880de.gif)
位置和长度
![](/icons/23880dou2.gif)
在运行时
![](/icons/23880dou.gif)
可用SelectAll思路方法将备注中文本全部选定
![](/icons/23880dou2.gif)
(3)RichtextControl控件
RichtextControl控件是支持Richtext格式化、打印、搜索及拖放文本
![](/icons/23880de.gif)
备注Control控件
![](/icons/23880dou2.gif)
它允许你指定字体属性、排列方式、Tabs、缩进、及数字编号
![](/icons/23880dou2.gif)
2.特殊
![](/icons/23880de.gif)
输入Control控件
表2-3中
![](/icons/23880de.gif)
组件提供捕获输入
![](/icons/23880de.gif)
附加方式
![](/icons/23880dou2.gif)
(1)滚动条
滚动条组件是用于滚动窗口、窗体或Control控件
![](/icons/23880de.gif)
内容
![](/icons/23880de.gif)
Windows滚动条
![](/icons/23880dou2.gif)
在OnScroll事件处理
![](/icons/23880chengxu.gif)
当中编写代码响应用户移动滚动条
![](/icons/23880de.gif)
动作
![](/icons/23880dou2.gif)
滚动条组件并不经常使用
![](/icons/23880dou.gif)
![](/icons/23880yinwei.gif)
许多可视化组件都提供自己
![](/icons/23880de.gif)
滚动条
![](/icons/23880dou.gif)
而且不需要附加
![](/icons/23880de.gif)
代码
![](/icons/23880dou2.gif)
例如
![](/icons/23880dou.gif)
TForm提供VertScrollBar和HorzScrollBar属性自动配置窗体滚动条
![](/icons/23880dou2.gif)
使用TScrollBox可创建窗体内部
![](/icons/23880de.gif)
![](/icons/23880yi.gif)
个可滚动区域
![](/icons/23880dou2.gif)
(2)刻度条Control控件
使用可以设置
![](/icons/23880yi.gif)
连续范围
![](/icons/23880de.gif)
整数值
![](/icons/23880dou2.gif)
在调整像颜色、音量和亮度等属性值时很有用
![](/icons/23880dou2.gif)
拖动游标至目标位置或直接在刻度条Control控件内部
![](/icons/23880de.gif)
目标位置单击
![](/icons/23880dou.gif)
都可使游标到达目标位置
![](/icons/23880dou2.gif)
·用Max和Min属性值来设定刻度范围
![](/icons/23880de.gif)
上下限值
![](/icons/23880dou2.gif)
·用SelEnd和SelStart来高亮显示选定范围
![](/icons/23880dou2.gif)
见图2-2
![](/icons/23880dou2.gif)
·Orientation属性确定刻度条是垂直
![](/icons/23880de.gif)
还是水平
![](/icons/23880de.gif)
![](/icons/23880dou2.gif)
·缺省时
![](/icons/23880dou.gif)
刻度条底部有
![](/icons/23880yi.gif)
行刻度
![](/icons/23880dou2.gif)
使用TickMarks属性可改变其位置
![](/icons/23880dou2.gif)
用TickStyle属性和SetTicks思路方法可控制刻度间隔
![](/icons/23880dou2.gif)
·Position设置刻度条
![](/icons/23880chushi.gif)
位置
![](/icons/23880dou.gif)
同时也可记录运行时刻度条位置
![](/icons/23880dou2.gif)
·缺省时
![](/icons/23880dou.gif)
用户可通过上下箭头键向上或向下移动
![](/icons/23880yi.gif)
个刻度间隔
![](/icons/23880dou2.gif)
LineSize用来改变增量
![](/icons/23880dou2.gif)
·PageSize设置当用户按下PageUp或PageDown时
![](/icons/23880dou.gif)
刻度条移动
![](/icons/23880de.gif)
刻度数
![](/icons/23880dou2.gif)
(3)上下Control控件
上下Control控件(UpDown)由
![](/icons/23880yi.gif)
对箭头按钮组成
![](/icons/23880dou.gif)
允许用户以
![](/icons/23880yi.gif)
固定增量来改变整数值
![](/icons/23880dou2.gif)
当前值由Position属性给出;Increment属性设置增量大小
![](/icons/23880dou.gif)
缺省时为1
![](/icons/23880dou2.gif)
使用Associate属性可把其他组件(比如
![](/icons/23880yi.gif)
个编辑Control控件)和上下Control控件联系起来
![](/icons/23880dou2.gif)
(4)热键Control控件
使用热键组件(HotKey)可将
![](/icons/23880yi.gif)
个快捷键(用于转移焦点)分配给任何Control控件
![](/icons/23880dou2.gif)
HotKey属性包含当前快捷键组合
![](/icons/23880dou.gif)
Mod
![](/icons/23880if.gif)
iers属性确定哪些键对于HotKey是可用
![](/icons/23880de.gif)
![](/icons/23880dou2.gif)
(5)分隔符Control控件
位于排列好
![](/icons/23880de.gif)
Control控件的间
![](/icons/23880de.gif)
分隔符Control控件允许用户重新调整Control控件大小
![](/icons/23880dou2.gif)
和面板或分组框这类组件
![](/icons/23880yi.gif)
起使用时
![](/icons/23880dou.gif)
分隔符Control控件可把
![](/icons/23880yi.gif)
个窗体分成若干块
![](/icons/23880dou.gif)
每块中都包含多个Control控件
![](/icons/23880dou2.gif)
在窗体中放置
![](/icons/23880yi.gif)
面板或其他Control控件后
![](/icons/23880dou.gif)
以和该Control控件相同
![](/icons/23880de.gif)
对齐方式加入
![](/icons/23880yi.gif)
个分隔符Control控件
![](/icons/23880dou2.gif)
最后加入
![](/icons/23880de.gif)
Control控件应是客户区对齐(client-aligned)方式
![](/icons/23880de.gif)
![](/icons/23880dou.gif)
以便当其他Control控件调整大小后它可以自动填充剩余空间
![](/icons/23880dou2.gif)
例如:把
![](/icons/23880yi.gif)
个面板放在窗体左边
![](/icons/23880dou.gif)
把它们Alignment属性设置为alLeft
![](/icons/23880dou.gif)
再把
![](/icons/23880yi.gif)
个分隔符Control控件(对齐方式同样为alLeft)放在面板右边
![](/icons/23880dou.gif)
最后将另
![](/icons/23880yi.gif)
面板(对齐方式为alLeft或alClient)放在分隔符Control控件右边
![](/icons/23880dou2.gif)
MinSize属性指定当调整相邻Control控件大小时
![](/icons/23880dou.gif)
分隔符Control控件必须保留
![](/icons/23880de.gif)
最小尺寸
![](/icons/23880dou2.gif)
设置Beveled为true可使分隔符Control控件
![](/icons/23880de.gif)
边缘呈现3D效果
![](/icons/23880dou2.gif)
3.按钮Control控件及类似Control控件
除了菜单以外
![](/icons/23880dou.gif)
按钮是在应用
![](/icons/23880chengxu.gif)
中触发命令最常用
![](/icons/23880de.gif)
方式
![](/icons/23880dou2.gif)
C
![](/icons/23880jiajia.gif)
Builder提供
![](/icons/23880yi.gif)
些按钮Control控件及类似Control控件(见表2-4):
(1)按钮Control控件
用户单击按钮Control控件(Button)触发动作
![](/icons/23880dou2.gif)
在设计时双击按钮将跳至代码编辑器中该按钮
![](/icons/23880de.gif)
OnClick事件处理
![](/icons/23880chengxu.gif)
![](/icons/23880dou2.gif)
·将Cancel属性设置为true
![](/icons/23880dou.gif)
则当用户按下Esc键时
![](/icons/23880dou.gif)
触发按钮
![](/icons/23880de.gif)
OnClick事件
·将Default属性设置为true
![](/icons/23880dou.gif)
则当用户按下Enter键时
![](/icons/23880dou.gif)
触发按钮
![](/icons/23880de.gif)
OnClick事件
![](/icons/23880dou2.gif)
(2)位图按钮
位图按钮(BitBtn)是带有图形
![](/icons/23880de.gif)
按钮Control控件
![](/icons/23880dou2.gif)
·设置Glyph属性可为按钮选择
![](/icons/23880yi.gif)
个位图
![](/icons/23880dou2.gif)
·使用Kind属性可自动配置
![](/icons/23880yi.gif)
个带有图形
![](/icons/23880de.gif)
缺省按钮
![](/icons/23880dou2.gif)
·缺省时
![](/icons/23880dou.gif)
图形出现在正文
![](/icons/23880de.gif)
左边
![](/icons/23880dou2.gif)
若要移动它
![](/icons/23880dou.gif)
使用Layout属性
![](/icons/23880dou2.gif)
·按钮中
![](/icons/23880de.gif)
图形和文本会自动居中
![](/icons/23880dou2.gif)
使用Margin属性可移动它们
![](/icons/23880de.gif)
位置
![](/icons/23880dou2.gif)
Margin属性决定图形边缘和按钮边缘
![](/icons/23880de.gif)
像素点数
![](/icons/23880dou2.gif)
·缺省时
![](/icons/23880dou.gif)
图形和文本间隔4个像素点
![](/icons/23880dou2.gif)
使用Spacing可增减该距离
![](/icons/23880dou2.gif)
·位图按钮有3种状态:弹起、按下、保持按下
![](/icons/23880dou2.gif)
将NumGlyphs属性设为3可显示每种状态
![](/icons/23880de.gif)
区别图形
![](/icons/23880dou2.gif)
(3)快速按钮
快速(Speed)按钮(SpeedButton)
![](/icons/23880dou.gif)
通常带有图形
![](/icons/23880dou.gif)
可加入组中
![](/icons/23880dou2.gif)
通常和面板
![](/icons/23880yi.gif)
起用来创建工具栏
![](/icons/23880dou2.gif)
·为让快速按钮成组工作
![](/icons/23880dou.gif)
可将所有按钮
![](/icons/23880de.gif)
GroupIndex属性值设置为相同
![](/icons/23880de.gif)
非零值
![](/icons/23880dou2.gif)
·缺省时
![](/icons/23880dou.gif)
快速按钮以弹起(未选中)状态显示
![](/icons/23880dou2.gif)
若需开始就将快速按钮显示为选中状态
![](/icons/23880dou.gif)
可将Down属性设为true
![](/icons/23880dou2.gif)
若AllowAllUp属性值为true
![](/icons/23880dou.gif)
在
![](/icons/23880yi.gif)
个组中所有
![](/icons/23880de.gif)
快速按钮均为未选中状态
![](/icons/23880dou2.gif)
若AllowAllUp属性值为false
![](/icons/23880dou.gif)
这组快速按钮以单选按钮组
![](/icons/23880de.gif)
模式工作
![](/icons/23880dou2.gif)
(4)复选框
复选框(CheckBox)提供给用户两个或更多选择
![](/icons/23880dou2.gif)
·把Checked属性设为true
![](/icons/23880dou.gif)
复选框中会出现记号表示选中状态
![](/icons/23880dou2.gif)
·将AllowGrayed设为true使复选框具有 3种可能
![](/icons/23880de.gif)
状态:选中、非选中、灰
![](/icons/23880de.gif)
(不可选)
![](/icons/23880dou2.gif)
·State属性指出复选框状态为选中(cbChecked)、非选中(cbUnchecked)、灰
![](/icons/23880de.gif)
(cbGrayed)
![](/icons/23880dou2.gif)
(5)单选按钮
单选按钮(RadioButton)给出
![](/icons/23880yi.gif)
组互斥
![](/icons/23880de.gif)
选项
![](/icons/23880dou2.gif)
可使用单个
![](/icons/23880de.gif)
单选按钮
![](/icons/23880dou.gif)
也可使用RadioGroup组件
![](/icons/23880dou.gif)
它自动安排成组
![](/icons/23880de.gif)
单选按钮
![](/icons/23880dou2.gif)
(6)工具栏
工具栏(ToolBar)组件提供
![](/icons/23880yi.gif)
种管理可视化Control控件
![](/icons/23880de.gif)
简易思路方法
![](/icons/23880dou2.gif)
你可以用面板组件和快速按钮创建工具栏
![](/icons/23880dou.gif)
也可使用工具栏组件
![](/icons/23880dou.gif)
然后右击并选择NewButton来把按钮加到工具栏上
![](/icons/23880dou2.gif)
工具栏组件有许多优点:
工具栏自动保持按钮
![](/icons/23880de.gif)
外观和间隔;
其他Control控件保持其相对位置和高度;
若水平工具栏放不下时
![](/icons/23880dou.gif)
Control控件能自动转至新行
![](/icons/23880de.gif)
开始;工具栏提供了
![](/icons/23880yi.gif)
些显示选项
![](/icons/23880dou.gif)
如透明度、弹出边界
![](/icons/23880dou.gif)
对分组Control控件还提供空格
和分隔符
![](/icons/23880dou2.gif)
(7)酷栏
酷栏(CoolBar)包含独立
![](/icons/23880de.gif)
可移动和调整大小
![](/icons/23880de.gif)
子Control控件
![](/icons/23880dou2.gif)
各Control控件属于单独
![](/icons/23880de.gif)
段
![](/icons/23880dou2.gif)
用户通过段左边
![](/icons/23880de.gif)
尺寸位置调整柄可定位Control控件
![](/icons/23880dou2.gif)
在设计时和运行时
![](/icons/23880dou.gif)
酷栏都需要版本4.70或以后
![](/icons/23880de.gif)
COMCTL32.DLL(通常位于Windows\\
![](/icons/23880System.gif)
或者Windows\\
![](/icons/23880System.gif)
32目录下)
![](/icons/23880dou2.gif)
·Bands属性存放
![](/icons/23880yi.gif)
组TCoolBand对象
![](/icons/23880dou2.gif)
在设计时
![](/icons/23880dou.gif)
你可用段编辑器加入、删除或修改段
![](/icons/23880dou2.gif)
打开段编辑器
![](/icons/23880dou.gif)
在对象观察器中选择Bands属性
![](/icons/23880dou.gif)
然后双击右边
![](/icons/23880de.gif)
Value列
![](/icons/23880dou.gif)
或单击省略号(...)按钮
![](/icons/23880dou2.gif)
也可以通过加入新
![](/icons/23880de.gif)
窗口Control控件以生成新
![](/icons/23880de.gif)
段
![](/icons/23880dou2.gif)
·FixedOrder属性决定用户是否能对段重新排序
![](/icons/23880dou2.gif)
·FixedSize属性确定段是否要保持
![](/icons/23880yi.gif)
致
![](/icons/23880de.gif)
高度
延伸阅读
最新评论