|
2.4.12 VCL标准组件 组件面板中包含能够处理多种程序设计任务的组件。你可以在组件面板中增加、删除或重新排列组件,还能创建由几个组件组成的“模板(templates)”和“框架(frames)”。 组件面板中的组件根据功能用途分页安排。在缺省配置中出现哪些页面取决于所运行的C++Builder的版本。表2-1列出了典型的缺省页及其包含的组件种类。

联机帮助提供关于缺省组件面板组件的信息。对于ActiveX及Samples页中的组件,只提供例子而没有文档。 1、文本控件 许多应用程序都需要显示文本或允许用户输入文本。用于此类用途的控件,其类型依赖于信息的多少及格式(见表2-2)。

(1)文本控件共同属性 所有的文本控件都具有这些共同属性: · Text,确定出现在编辑框或备注控件中的文本 · CharCase,强制文本以小写或大写输入。 · ReadOnly,指定是否允许用户修改文本。 · MaxLength,限制控件中的字符数。 · PasswordChar,通过显示单个字符(通常是星号)隐藏文本。 · HideSelection,指定控件中被选中的文本是否在控件失去焦点时依然保持高亮状态。 (2)备注和Richtext控件共享的属性 处理多行文本的备注和Richtext控件有一些共同的属性: · Alignment,指定文本在控件内的对齐方式。 · Text,属性指定控件中包含的文本。应用程序通过检查Modify属性可以识别文本是否被修改。 · Lines,包含诸如串列表的文本。 · OEMConvert,确定是否在输入文本临时将其从ANSI转换为OEM字符。这对检查文件名很有用。 · WordWrap,确定是否文本在右边缘换行。 · WantReturns,确定是否允许用户在文本中插入硬回车。 · WantTabs,确定是否允许用户在文本中插入Tab。 · AutoSelect,确定是否当控件激活时自动选中(高亮)文本。 · SelText,包含文本的当前选中(高亮)部分。 · SelStart和SelLength,指明文本选中部分的位置和长度。 在运行时,可用SelectAll方法将备注中文本全部选定。 (3)Richtext控件 Richtext控件是支持Richtext格式化、打印、搜索及拖放文本的备注控件。它允许你指定字体属性、排列方式、Tabs、缩进、及数字编号。 2. 特殊的输入控件 表2-3中的组件提供捕获输入的附加方式。

(1)滚动条 滚动条组件是用于滚动窗口、窗体或控件的内容的Windows滚动条。在OnScroll事件处理程序当中编写代码响应用户移动滚动条的动作。 滚动条组件并不经常使用,因为许多可视化组件都提供自己的滚动条,而且不需要附加的代码。例如,TForm提供VertScrollBar和HorzScrollBar属性自动配置窗体滚动条。使用TScrollBox可创建窗体内部的一个可滚动区域。 (2)刻度条控件 使用可以设置一连续范围的整数值。在调整像颜色、音量和亮度等属性值时很有用。拖动游标至目标位置或直接在刻度条控件内部的目标位置单击,都可使游标到达目标位置。 · 用Max和Min属性值来设定刻度范围的上下限值。 · 用SelEnd和SelStart来高亮显示选定范围。见图2-2。 · Orientation属性确定刻度条是垂直的还是水平的。 · 缺省时,刻度条底部有一行刻度。使用TickMarks属性可改变其位置。用TickStyle属性和SetTicks方法可控制刻度间隔。

· Position设置刻度条初始位置,同时也可记录运行时刻度条位置。 · 缺省时,用户可通过上下箭头键向上或向下移动一个刻度间隔。LineSize用来改变增量。 · PageSize设置当用户按下PageUp或PageDown时,刻度条移动的刻度数。 (3)上下控件 上下控件(UpDown)由一对箭头按钮组成,允许用户以一固定增量来改变整数值。当前值由Position属性给出;Increment属性设置增量大小,缺省时为1。使用Associate属性可把其他组件(比如一个编辑控件)与上下控件联系起来。 (4)热键控件 使用热键组件(HotKey)可将一个快捷键(用于转移焦点)分配给任何控件。HotKey属性包含当前快捷键组合,Modifiers属性确定哪些键对于HotKey是可用的。 (5)分隔符控件 位于排列好的控件之间的分隔符控件允许用户重新调整控件大小。与面板或分组框这类组件一起使用时,分隔符控件可把一个窗体分成若干块,每块中都包含多个控件。 在窗体中放置一面板或其他控件后,以与该控件相同的对齐方式加入一个分隔符控件。最后加入的控件应是客户区对齐(client-aligned)方式的,以便当其他控件调整大小后它可以自动填充剩余空间。 例如:把一个面板放在窗体左边,把它们Alignment属性设置为alLeft,再把一个分隔符控件(对齐方式同样为alLeft)放在面板右边,最后将另一面板(对齐方式为alLeft或alClient)放在分隔符控件右边。 MinSize属性指定当调整相邻控件大小时,分隔符控件必须保留的最小尺寸。设置Beveled为true可使分隔符控件的边缘呈现3D效果。 3.按钮控件及类似控件 除了菜单以外,按钮是在应用程序中触发命令最常用的方式。C++Builder提供一些按钮控件及类似控件(见表2-4):

(1)按钮控件 用户单击按钮控件(Button)触发动作。在设计时双击按钮将跳至代码编辑器中该按钮的onClick事件处理程序。 · 将Cancel属性设置为true,则当用户按下Esc键时,触发按钮的onClick事件。 · 将Default属性设置为true,则当用户按下Enter键时,触发按钮的onClick事件。 (2)位图按钮 位图按钮(BitBtn)是带有图形的按钮控件。 · 设置Glyph属性可为按钮选择一个位图。 · 使用Kind属性可自动配置一个带有图形的缺省按钮。 · 缺省时,图形出现在正文的左边。若要移动它,使用Layout属性。 · 按钮中的图形和文本会自动居中。使用Margin属性可移动它们的位置。Margin属性决定图形边缘和按钮边缘的像素点数。 · 缺省时,图形和文本间隔4个像素点。使用Spacing可增减该距离。 · 位图按钮有3种状态:弹起、按下、保持按下。将NumGlyphs属性设为3可显示每种状态的不同图形。 (3)快速按钮 快速(Speed)按钮(SpeedButton),通常带有图形,可加入组中。通常和面板一起用来创建工具栏。 · 为让快速按钮成组工作,可将所有按钮的GroupIndex属性值设置为相同的非零值。 · 缺省时,快速按钮以弹起(未选中)状态显示。若需开始就将快速按钮显示为选中状态,可将Down属性设为true。 若AllowAllUp属性值为true,在一个组中所有的快速按钮均为未选中状态。若AllowAllUp属性值为false,这组快速按钮以单选按钮组的模式工作。 (4)复选框 复选框(CheckBox)提供给用户两个或更多选择。 · 把Checked属性设为true,复选框中会出现记号表示选中状态。 · 将AllowGrayed设为true使复选框具有三种可能的状态:选中、非选中、灰的(不可选)。 · State属性指出复选框状态为选中(cbChecked)、非选中(cbUnchecked)、灰的(cbGrayed)。 (5)单选按钮 单选按钮(RadioButton)给出一组互斥的选项。可使用单个的单选按钮,也可使用RadioGroup组件,它自动安排成组的单选按钮。 (6)工具栏 工具栏(ToolBar)组件提供一种管理可视化控件的简易方法。你可以用面板组件和快速按钮创建工具栏,也可使用工具栏组件,然后右击并选择NewButton来把按钮加到工具栏上。工具栏组件有许多优点: 工具栏自动保持按钮的外观和间隔; 其他控件保持其相对位置和高度; 若水平工具栏放不下时,控件能自动转至新行的开始;工具栏提供了一些显示选项,如透明度、弹出边界,对分组控件还提供空格 和分隔符。 (7)酷栏 酷栏(CoolBar)包含独立的可移动和调整大小的子控件。各控件属于单独的段。用户通过段左边的尺寸位置调整柄可定位控件。 在设计时和运行时,酷栏都需要版本4.70或以后的COMCTL32.DLL(通常位于Windows\System或者Windows\System32目录下)。 · Bands属性存放一组TCoolBand对象。在设计时,你可用段编辑器加入、删除或修改段。打开段编辑器,在对象观察器中选择Bands属性,然后双击右边的Value列,或单击省略号(...)按钮。也可以通过加入新的窗口控件以生成新的段。 · FixedOrder属性决定用户是否能对段重新排序。 · FixedSize属性确定段是否要保持一致的高度。
|