其他控件
# Smart 控件使用(其他)
其他控件包含一些Windows桌面下常用的组件。
# 1. TBitBtn 组件
TBitBtn是一个按钮组件,可以在其表面包含位图。位图按钮表现出与按钮组件相同的行为。使用它们从窗体和对话框启动操作。
位图按钮实现指定位图图像的属性,以及它们在按钮上的外观和位置。您可以从预定义的位图按钮样式中进行选择,也可以使用您自己的自定义位图作为按钮。虽然按钮只能与一个位图关联,但位图(字形属性)可以细分为四个大小相等的部分,这些部分根据按钮的状态显示:弹起,按下,禁用和单击。
TBitBtn的Kind属性提供常用按钮,例如OK,Cancel,Help等。这些预定义的按钮类型具有相应的图形图像和默认行为,因此您可以轻松地将它们添加到您的应用程序中,而无需编码。
要使用其他按钮类型对用户的单击的操作进行响应的推荐方法是将操作列表中的操作指定为Action属性的值。通过设置Action属性,可以使按钮成为操作的客户端,操作将处理更新按钮属性并在用户单击按钮时进行响应。如果您没有使用对特定类型的按钮的内置响应或在用户单击按钮时响应的操作,则可以通过编写OnClick事件处理程序来指定按钮的响应。
# 1.1. 属性
- TBitBtn组件主要属性
属性 | 功能说明 |
---|---|
Action | 指定与组件关联的操作 |
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
Cancel | 确定按下Esc键时按钮的OnClick事件处理程序是否执行 |
Caption | 指定标识用户组件的文本字符串 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Default | 确定按下Enter键时按钮的OnClick事件处理程序是否执行 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
Glyph | 指定位图按钮上显示的位图 |
Kind | 指定位图按钮的类型 |
Layout | 指定图像在位图按钮上的显示位置 |
Margin | 指定图像边缘(在Glyph属性中指定)和按钮边缘之间的像素数 |
ModalResul | 确定按钮是否以及如何关闭其(模态)父窗体 |
NumGlyphs | 指示Glyph属性中指定的图形中的图像数 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Spacing | 确定图像和文本在位图或速度按钮上的显示位置 |
Style | 确定位图按钮的外观 |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Visible | 确定组件是否可见 |
WordWrap | 指定按钮文本是否换行以适合组件的宽度 |
# 1.1.1. Cancel 属性
property Cancel: Boolean;
该属性用于确定当Esc键按下时,是否执行按钮的OnClick事件处理程序。如果Cancel为True,则执行。虽然应用程序可有多个Cancel按钮,但是窗体仅调用组件顺序中第1个可视的Cancel按钮的OnClick事件处理程序。
- True: 用户按下Esc键时TButton组件的OnClick事件被触发。
- False: 用户按下Esc键时TButton组件的OnClick事件不被触发。
# 1.1.2. Default 属性
property Default: Boolean;
当按下Enter键时,该属性用于确定组件的OnClick事件处理程序是否执行。如果Default为True,则执行。虽然应用程序可有多个Default按钮,但是窗休仅调用组件顺序中第1个可视的Default按钮的OnClick事件处理程序,而且任何一个获得焦点的按钮可变为临时Default的按钮。如果用户在按下Enter键前选择了另一个按钮,则执行所选按钮的OnClick事件处理程序。
在开发程序时,如果需要在其他非按钮组件获得焦点时,按Enter键响应按钮的OnClick 事件,可以设置按钮的Default属性为True。
# 1.1.3. Glyph 属性
property Glyph: TBitmap;
该属性用于指定位图按钮上显示的位图。在对象观察器中Glyph属性打开一个对话框,在此加载要在位图按钮上显示的图标文件,或在程序运行过程中指定要显示的位图。
在一个位图中,可提供4个图像,而且这4个图像必须大小相同,且排成一排。在位图按钮中显示的图像由下列状态决定。
图像位置 | 按钮状态 | 说明 |
---|---|---|
First | Up | 按钮未被选中时显示该图像。当按钮获得焦点时,可使用此图像。在这种情况下, 按钮周围将出现一个焦点区域。如果在位图中只有一幅图,则在其他情况下也使用该图像 |
Second | Disabled | 该图像通常以变灰方式显示,表示该按钮不能被选中 |
Third | Clicked | 用户单击按钮后显示该图像,释放鼠标按键后显示Up状态时的图像 |
Fourth | Down | 按钮被按下后显示该图像,表示按钮一直被选中 |
如果只有一个图像出现,虽然Down状态和Up状态总是相同的,但是位图按钮仍试图通过细小的改变表示其他不同状态。如果用户对这些结果不满意,那么可在位图中提供其他图像。 如果在一个位图中有多个图像,那么一定要在NumGlyphs属性中指定图像的数量。
# 1.1.4. Kind属性
property Kind: TBitBtnKind;
该属性用于确定位图按钮的类型。TBitBtnKind中包含了TBitBtn位图按钮的Kind属性可取的值,这些值及其说明如下表。
数值 | 说明 | 按钮图像 |
---|---|---|
bkCustom | 位图按钮使用Glyph属性确定要显示的位图。用户选中按钮后,选择一个ModalResult属性 或提供代码响应一个OnClick事件 | |
bkOK | 在按钮上显示一个绿色的复选标记和文本OK。此时按钮变成默认按钮(Default属性的值自动 设置为True),用户选中该按钮后关闭对话框,位图按钮的ModalResult属性值为mrOK | |
bkCancel | 在按钮上显示一个红色的叉号和文本Cancel。此时按钮变成取消按钮(Cancel属件的值自动设 置为True),用户选中该按钮后关闭对话框,位图按钮的ModalResult属性值为mrCancel | |
bkYes | 在按钮上显示一个绿色的复选标记和文本Yes。此时按钮变成默认按钮(Default属件的值自动设 为True),接受对话框中的用户操作,且关闭对话框,位图按钮的ModalResult属件值为mrYes | |
bkNo | 在按钮上显示一个红色的否定符号和文本No。此时按钮变成取消按钮(Cancel属性的值自动设 为True),用户选中该按钮后,对话框中用户的操作被取消,且关闭对话框,位图按钮的ModalResult 属性值为mrNo | |
bkHelp | 在按钮上显示一个蓝绿色的问号和文本Help。用户选中该按钮后,应用程序中帮助窗体将显示 帮助文件,显示的帮助文件是由应用程序的HelpFile属性指定的。按钮的HelpContext属性值表 示显示帮助文件的帮助窗体 | |
bkClose | 在按钮上显示一个蓝绿色的问号和文本Close。用户选中该按钮后,将关闭当前窗体。Default 属件的值为True | |
bkAbort | 在按钮上显示一个红色的叉号和文本Abort | |
bkRetry | 在按钮上显示一个绿色的弯箭头记号和文本Retry | |
bkIgnore | 在按钮上显示一个人行走开的记号和文本Ignore。当程序出现错误时,用其可继续运行 | |
bkAll | 在按钮上显示两个绿色的复选标记和文本Yes to All |
# 1.1.5. Layout 属性
property Layout: TButtonLayout;
该属性用于确定位图按钮(TBitBtn)上显示位图或文本的位罝。
- blGlyphLeft: 图像在TBitBtn组件的左侧。
- blGlyphRight: 图像在TBitBtn组件的右侧。
- blGlyphTop: 图像在TBitBtn组件的顶部。
- blGlyphButton: 图像在TBitBtn组件的底部。
# 1.1.6. Margin 属性
property Margin: Integer;
该属性用于决定Glyph属性指定的位图边缘到按钮边缘的像素数量,其值是位图边缘到按钮边缘的像素值,边缘格式由Layout属性中的布局和文本决定。例如,若Layout属性为 blGlyphLeft,则边缘出现在位图左边缘到按钮左边缘之间。如果Margin属性的值为3,则表示位图边缘和按钮边缘的间距为3个像素;为-1 (默认),表示位图和文本居中显示。位图边缘和按钮边缘间的像素数量等于按钮的相反边缘与文本间的像素数量。
Margin属性以像素为单位指定图像边缘与TBitBtn组件边缘之间的空白距离,空白的显示形式取决于Layout属性指定的图像和文本的布局。
# 1.1.7. NumGlyphs 属性
property NumGlyphs: TNumGlyphs;
该属性用于指定在Glyph属性中指定的位图中的图像数量。如果在位图中有多个图像,则必须用NumGlyphs属性指定位图中的图像数量。该属性的有效值是1-4,默认值为1。
# 1.1.8. Spacing 属性
property Spacing: Integer;
该属性用于确定显示的图像(在Glyph属性中指定)和文本(在Caption属性中指定)间的像素数量,默认值为4。如果该属性的值为正数,则表示显示的图像和文本之间的距离;为-1,则表示文本在图像和按钮边缘之间居中显示,即图像与文本之间的距离和文本到按钮边缘的距离相等。

# 1.1.9. 事件
- TBitBtn组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
OnKeyPress | 按下某个键时触发该事件 |
OnKeyUp | 用户释放已按下的键时触发该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
# 1.1.10. 方法
- TBitBtn组件主要方法列表
方法 | 功能描述 |
---|---|
Click | 模拟鼠标点击,模拟用户已经点击过按钮 |
# 2. TSpeedButton 组件
TSpeedButton是一个用于执行命令或设置模式的按钮。使用TSpeedButton将按钮添加到窗体中的一组按钮。
TSpeedButton引入了可用于设置表示不同按钮状态(选定,未选定,禁用等)的图形图像的属性。使用其他属性指定多个图像或重新排列按钮上的图像和文本。TSpeedButton还引入了允许按钮作为一个组一起工作的属性。通常将按钮分组在面板中以创建专用工具栏和工具调色板。
当用户单击按钮时,实现按钮响应的推荐方法是将操作列表中的操作指定为Action属性的值。通过设置Action属性,可以使按钮成为操作的客户端,操作将处理更新按钮属性并在用户单击按钮时进行响应。如果在用户单击按钮时未使用操作进行响应,则可以通过编写OnClick事件处理程序来指定按钮的响应。
提示: 要创建一个带有客户端对齐字形的按钮,该按钮覆盖按钮的边缘,请在按钮的左上边缘和左边缘周围添加1像素边距,并在其下边缘和右边缘周围添加3像素边距。通过手动编辑Glyph属性指定的位图来完成此操作。
# 2.1. 属性
- TSpeedButton组件主要属性
属性 | 功能说明 |
---|---|
Action | 指定与组件关联的操作 |
Align | 确定组件在其父组件区内的对齐方式 |
AllowAllUp | 指定是否可以同时取消选择包含此速度按钮的组中的所有速度按钮 |
Anchors | 指定组件如何停放在父窗体中 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
Caption | 指定速度按钮上显示的标题或标签 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Down | 指定按钮是选中(下)还是未选中(上) |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Flat | 确定按钮是否具有提供凸起或降低外观的3D边框 |
Font | 确定组件内显示的文本字体 |
Glyph | 指定速度按钮上显示的位图 |
GroupIndex | 允许速度按钮作为一个组一起工作 |
Layout | 确定图像或文本在速度按钮上的显示位置 |
Margin | 指定按钮边缘与其表面上绘制的图像或标题之间的像素数 |
NumGlyphs | 指定Glyph属性中包含的图像数 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Spacing | 确定图像和文本在速度按钮上的显示位置 |
Transparen | 指定按钮的背景是否透明 |
Visible | 确定组件是否可见 |
# 2.1.1. AllowAllUp 属性
property AllowAllUp: Boolean;
AllowAllUp属性用于确定同一组中的加速按钮是否能够同时处于非选中状态。
,多个加速按钮在同一组(Grouplndex属性值相同)中时,如果AllowAllUp属性为False, 同一时刻必须有一个按钮处于Down状态,当用户单击一个Down状态的按钮,Down状态不会改变;如果AllowAllUp属性为True,则允许同一时刻组中的所有按钮都处于非选中状态, 当用户单击一个Down状态按钮时,Down状态将会取消,再次单击按钮,按钮将处于Down 状态,如此反复。如果同一组中的加速按钮Grouplndex的属性为0,则AllowAllUp属性不起作用。
# 2.1.2. Down 属性
property Down: Boolean;
Down属性用于标识组件是处于选中状态还是非选中状态。该属性只有在Grouplndex属性不为0时才可用,当Grouplndex大于0时,设置Down属性为True,将选中按钮。当用户在一个非选中按钮上单击时,按钮将被选中,Down属性被设置为True; 当用户在一个选中的按钮上单击时,按钮将处于非选中状态,Down属性被设置为False。
# 2.1.3. Flat 属性
property Flat: Boolean;
Flat属性用于确定组件是否有3D的外观效果。设罝Flat属性为True时,会取消按钮的凸起或凹陷的外观,使组件平面显示。
# 2.1.4. Glyph 属性
property Glyph: TBitmap;
Glyph属性用于标识山现在位图按钮中的位图。在对象观察器中Glyph属性打开一个对话框,在此加载要在位图按钮上显示的图标文件,或在程序运行过程中指定要显示的位图。
在一个位图中,可提供4个图像,而且这4个图像必须大小相同,且排成一排。在位图按钮中显示的图像由下列状态决定。
图像位置 | 按钮状态 | 说明 |
---|---|---|
First | Up | 按钮未被选中时显示该图像。当按钮获得焦点时,可使用此图像。在这种情况下, 按钮周围将出现一个焦点区域。如果在位图中只有一幅图,则在其他情况下也使用该图像 |
Second | Disabled | 该图像通常以变灰方式显示,表示该按钮不能被选中 |
Third | Clicked | 用户单击按钮后显示该图像,释放鼠标按键后显示Up状态时的图像 |
Fourth | Down | 按钮被按下后显示该图像,表示按钮一直被选中 |
如果只有一个图像出现,虽然Down状态和Up状态总是相同的,但是位图按钮仍试图通过细小的改变表示其他不同状态。如果用户对这些结果不满意,那么可在位图中提供其他图像。 如果在一个位图中有多个图像,那么一定要在NumGlyphs属性中指定图像的数量。
Glyph属性用于指定TSpeedButton组件上显示的位图。一个位图可以提供4幅图像,这些图像具有相同的尺寸并且相互连接排成一行,TSpeedButton组件将根据其不同的状态分别显示这4幅图像。
# 2.1.5. Grouplndcx 属性
property Grouplndex: Integer;
Grouplndex属性用于设置组标记。在同一个容器中Grouplndex属性值相同的按钮为一组。 当Grouplndex属性为0时,按钮的行为依赖于窗休中的其他按钮,,用户单击按钮(不释放鼠标)时,按钮处于按下状态,当用户释放鼠标时,按钮返回到正常状态。
在设计程序时,如果需要将多个按钮设置为一个组,可以将这些按钮的Grouplndex属性设置为相同的值。对于同一组中的按钮,,一个按钮处于选中状态时,其他按钮将处于非选中状态。
# 2.1.6. Layout 属性
property Layout: TButtonLayout;
该属性用于确定按钮上显示位图或文本的位置,TButtonLayout定义了位图按钮的Layout 属性值。
- blGlyphLeft: 图像在TBitBtn组件的左侧。
- blGlyphRight: 图像在TBitBtn组件的右侧。
- blGlyphTop: 图像在TBitBtn组件的顶部。
- blGlyphButton: 图像在TBitBtn组件的底部。
# 2.1.7. Margin 属性
property Margin: Integer;
该属性用于决定Glyph属性指定的位图边缘到按钮边缘的像素数量,其值是位图边缘到按钮边缘的像素值,边缘格式由Layout属性中的布局和文本决定。例如若Layout属性为 blGlyphLeft,则边缘出现在位图左边缘到按钮左边缘之问。如果Margin属性的值为3,则表示位图边缘和按钮边缘的间距为3个像素;为-1 (默认),则位图和文本居中显示。位图边缘和按钮边缘间的像素数量等于按钮的相反边缘与文本间的像素数量。
Margin属性以像素为单位指定图像边缘与组件边缘之间的空白距离,空白的显示形式取决于Layout属性指定的图像和文本的布局。
# 2.1.8. Spacing 属性
property Spacing: Integer;
该属性用于确定显示的图像(在Glyph属性中指定)和文本(在Caption属性中指定)间的像素数量,默认值为4。如果该属性的值为正数,则表示显示的图像和文本之间的距离;为-1,则表示文本在图像和按钮边缘之间居中显示,即图像与文本之间的距离和文本到按钮边缘的距离相等。
# 2.1.9. Transparent 属性
property Transparent: Boolean;
Transparent属性用于确定按钮的背景是否透明。为True,则背景透明,否则不透明。对于TSpeedButton,要想使背景透明,除了将Transparent属性设置为True外,还应将Flat属性设置为 True。
# 2.2. 事件
- TSpeedButton组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
# 2.3. 方法
- TSpeedButton组件主要方法列表
方法 | 功能描述 |
---|---|
Click | 模拟鼠标点击,模拟用户已经点击过按钮 |
# 3. TMaskEdit 组件
TMaskEdit实现了通用的屏蔽编辑组件。使用TMaskEdit对象在窗体上放置屏蔽的编辑组件。该组件验证用户输入的文本是否对掩码进行编码,该掩码对文本可以采用的有效窗体进行编码。掩码还可以格式化显示给用户的文本。
# 3.1. 属性
- TMaskEdit组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Alignment | 确定文本在文本编辑组件中的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
AutoSelect | 确定组件获得焦点时是否自动选择编辑组件中的所有文本 |
AutoSize | 确定编辑组件的高度是否自动调整大小以容纳文本 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框 |
CharCase | 确定编辑组件中文本的大小写 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
EditMask | 指定表示屏蔽编辑组件的文本有效的掩码 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
ImeName | 设置该属性可配置IME名称 |
MaxLength | 指定可在编辑组件中显示的最大字符数 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PasswordChar | 指示要显示的字符(如果有),以代替在组件中键入的实际字符 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ReadOnly | 确定用户是否可以更改编辑组件的文本 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Text | 在应用蒙版之前表示蒙版编辑组件的基础文本 |
TextHint | Text属性为空时显示的提示或消息 |
Visible | 确定组件是否可见 |
# 3.1.1. EditMask 属性
property EditMask:String;
该属性用于指定用户输入时必须遵循的格式。如果用户输入的字符不符合格式要求,这个字符将被过滤掉,编辑框将拒绝输入。通常用于格式化显示内容,比如电话号码,邮政编码等内容。
可填写的字符类型及其格式释义如下:
字符 | 说明 |
---|---|
0或9 | 数字(不允许使用加号 [+] 和减号 [-]) |
# | 数字或空格(空白将转换为空格,允许使用加号和减号) |
L | 字母(A到Z,a到z) |
A或a | 字母或数字 |
C | 任一字符或空格 |
. , : ; - / | 十进制占位符和千位、日期和时间分隔符 |
< | 使其后所有的字符转换为小写 |
> | 使其后所有的字符转换为大写 |
\ | 使其后的字符显示为原义字符。可用于将该表中的任何字符显示为原义字符(例如,\A 显示为 A)。 |
# 3.1.2. EditText 属性
property EditText:String;
用TmaskEdit建立的编辑框内的文字既可以通过Text属性访问,也可以通过EditText属性访问,不过这两者之间稍有区别。Text属性中只包含用户实际输入的字符,而EditText是经过格式后的文字,如果用户输入不完整,则EditText属性中包含代表空白字符的符号。
# 3.1.3. MaxLength 属性
property MaxLength: Integer;
该属性是EditText的长度。无EditMask属性时,设置该属性可限制编辑组件中显示字符的数量,否则该属性由掩码自身确定,且不能改变。EditText为没有输入的每个字符提供空字符,所以长度固定。
# 3.1.4. PasswordChar 属性
property Passwordchar:String;
可以设置掩码的显示样式,如密码。如果需要在程序中输入密码之类的内容可以设置PasswordChar属性。
//密码文本显示为*符号
FThis.MaskEdit1.PasswordChar := '*';
2
# 3.2. 事件
- TMaskEidt组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 编辑组件的文本可能已更改时触发该事件 |
OnClick | 用户单击组件时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
OnKeyPress | 按下某个键时触发该事件 |
OnKeyUp | 用户释放已按下的键时触发该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 3.3. 方法
# 3.3.1. Clear 方法
procedure Clear;reintroduce;
此方法用于把编辑框中用户输入的字符全部删掉。
FThis.MaskEdit1.Clear;
# 4. TStringGrid 组件
TStringGrid表示一个网格组件,旨在简化字符串和关联对象的处理。将TStringGrid对象添加到窗体以表格格式显示文本数据。TStringGrid提供了许多属性来控制网格的外观,以及利用网格的表格组织响应用户操作的事件和方法。
TStringGrid引入了将对象与网格中的每个字符串相关联的功能。这些对象可以封装由呈现给用户的字符串表示的任何信息或行为。
如果要在网格中显示的字符串表示数据集中记录的字段值,请改用TDBGrid。
# 4.1. 属性
- TStringGrid组件主要属性
属性 | 功能说明 |
---|---|
Cells | 列出网格中每个单元格的字符串 |
Cols | 列出字符串及其每个列的关联对象 |
Objects | 列出网格中每个单元格的对象 |
Rows | 列出每行的字符串及其关联对象 |
# 4.1.1. BorderStyle 属性
property BorderStyle: TBorderStyle;
BorderStyle属性用于确定表格的单线风格。
- bsNone: 表格没有边框。
- bsSingle: 表格具有单线边框。
# 4.1.2. Cells 属性
property Cells[ACol, ARow: Integer]: string;
Cells属性列举了字符串表格中的所有字符串。使用该属性能够访问表格中的每个单元格字符串。ACol表示单元格的列坐标,第一列索引为0, ARow表示单元行坐标,第一行索引为0。
# 4.1.3. Col 属性
property Col: Longint;
Col属性用于确定当前选中单元格的列索引。设罝该属性能够将焦点移到当前行的指定单元格中。在使用TStringGrid组件录入数据时,为了方便用户录入,需要控制焦点的移动。在程序中,可以通过设置Col属性移动输入焦点。
# 4.1.4. ColCount 属性
property ColCount: Longint:
ColCount属性用于标识网格的列数,包含表格中的固定列和滚动列。在程序中设置该属性 能够从表格的右边添加或删除列。
# 4.1.5. Cols 属性
property Cols[Index: Integer]: TStrings;
Cols属性用于列举表格中的某一列数据。使用该属性能够访问表格中某一列的所有字符串,字符串的数量总足与RowCount属性相等。参数Index标识表格中某一列,第一列的索引值为0。
# 4.1.6. ColWidths 属性
property ColWidths[Index: Longint]: Integer;
ColWidths属性以像素为单位标识网格中列的宽度。参数Index标识列的索引。在程序运行时设置ColWidths属性能够改变某一列的宽度。如果表格的列宽度没有使用鼠标改变,也没有使用ColWidths属性改变,默认宽度为DefaultColWidth属性值。
# 4.1.7. EditorMode 属性
property EditorMode: Boolean;
EditorMode属性用于确定当前单元格能否被编辑。在运行时,设置该属性为True,能够使单元格处于编辑模式。当EditorMode属性为True时,用户能够编辑表格中的单元格。在程序运行过程中,用户按F2键能够将EditorMode属性设置为True,按Enter键能够使EditorMode 属性在True和False之间切换。如果Options属性没有包含goEditing选项或者Options属性包 含了 goAlwaysShowEditor选项,该属性将不起作用。
# 4.1.8. FixedRows 属性
property FixedRows: Integer;
FixedRows属性用于标识网格中固定行的行数。在程序中设置该属性能够创建或取消一个固定行。固定行出现在表格的上方,并且总是可见的。
# 4.1.9. GridHeight 属性
property GridHeight: Integer;
GridHeight属性以像素为单位标识网格的高度。如果GridHeight属性小于ClientHeight,表格的下方将出现空白,如果组件中的整个表格太高,GridHeight属性等于ClientHeight,用户必须通过滚动条才能查看所有数据。
# 4.1.10. GridLineWidth 属性
property GridLineWidth: Integer;
GridLineWidth属性以像素为单位标识表格线的宽度。如果Options属性不包含goFixedHorzLine、 goFixedVertLine、goHorzLine 或 goVertLine 选项,GridLineWidth 属性将不起作用。
# 4.1.11. GridWidth 属性
property GridWidth: Integer;
GridWidth属性以像素为单位标识表格的宽度。如果表格宽度GridWidth小于组件客户区宽度ClientWidth,表格中所有列均被显示出来,组件的剩余部分(右边)用空白填充;如果表格太宽(组件只有使用水平滚动条显示所有列),GridWidth属性与ClientWidth属性相等,用户必须使用滚动条才能查看所有列。
# 4.1.12. Options 属性
property Options: TGridOptions;
Options属性用于标识表格的显示和行为。该属性值足一个集合类型,元素如下。
- goFixedVertLine: 表格中固定列的垂直滚动条被画。
- goFixedHorzLine: 表格中固定行的水平滚动条被画。
- goVertLine: 在表格中绘制垂直线。
- goHorzLine: 在表格中绘制水平线。
- goRangeSelect: 用户能够同时选中多个单元格区域,如果Options属性包含goEditing选项, goRangeSelect 将被忽略。
- goDrawFocusSelected: 当单元格被选中时,将高亮显示。
- goRowSizing: 行能够被单独地调整大小。
- goColSizing: 列能够被单独地调整大小。
- goRowMoving: 非固定行能够通过鼠标移动。
- **goColMoving:**非固定列能够通过鼠标移动。
- goEditing: 用户能够编辑单元格。如果Options属性包含该选项,则goRangeSelect不起作用。
- goTabs: 用户按Tab键或Shift+Tab组合键能够使焦点在单元格间移动。
- goRowSelect: 表格整行被选中。如果Options属性包含该选项,则goAlwaysShowEditor不起作用。
- goAlwaysShowEditor: 表格被锁定为编辑状态。用户在输入数据时,不需要按F2或Enter键便可以使表格处于编辑状态。如果Options选项不包含goEditing,则该选项不起作用;如果 Options选项包含goRowSelect,该选项不起作用。
- goThumbTracking: 当用户拖动滚动块时,刷新表格,否则,表格不被更新,直到用户释放拖动的滚动块。
# 4.1.13. Row 属性
property Row: Longint;
Row属性用于标识当前被选中单元格的索引。在程序运行时,使用该属性能够确定表格中的当前行。设置Row属性能够在当前列中将焦点移动到Row所表示的行。第一行的索引值为 0,第二行的索引值为1,依次类推。
# 4.1.14. RowCount 属性
property RowCount: Longint;
RowCount属性以像素为单位标识表格的行数。在程序中设置该属性能够在表格的底部添加或删除行。
# 4.1.15. RowHeights 属性
property RowHeights[Index: Longint]: Integer;
RowHeights属性以像素为单位显示表格中行的高度。使用该属性能够在程序中读取或设置某一行的高度。使用RowHeights属性能够为表格每一行设置不同的高度。在通常情况下,为了美观,表格中的行高度均相同。但足,在程序中为了突岀地显示某些数据,可以有意地调整行高度。
# 4.1.16. Rows 属性
property Rows[Index: Integer]: TStrings;
Rows属性用于列举某一行的所有字符串。使用该属性能够访问表格中某一行的所有字符串,字符串的数量总足与ColCount属性相等。参数Index用于标识表格中的某一行,第一行的索引值为0。
# 4.2. 事件
事件 | 何时触发 |
---|---|
OnColumnMoved | OnColumnMoved事件在列的位置发生改变时发生 |
OnContextPopup | 当用户右击组件或用其他方式(如键盘)调用弹出菜单时产生该事件 |
OnDrawCell | OnDrawCell事件在表格中的单元格需要绘制时被触发 |
OnEndDock | 当对象的拖动结束后产生事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnExit | 这个事件发生在控制从活动状态变为非活动状态的时候 |
OnGetEditMask | OnGetEditMask事件在单元格要求输入数据(获得输入焦点)时被触发 |
OnGetEditText | OnGetEditText事件在单元格要求输入数据(获得输入焦点)时被触发 |
OnMouseWheelDown | 该事件在鼠标轮向下滚动时发生 |
OnMousewheelUp | 该事件在鼠标轮向上滚动时发生 |
OnRowMoved | OnRowMoved 事件在行的位置改变时发生 |
OnSelectCell | OnSelectCell事件在表格中的单元格被选中前发生 |
OnSetEditText | OnSetEditText 事件在用户编辑单元格中的数据时被触发 |
OnStartDock | 当用户开始拖动组件时产生该事件 |
OnTopLeftChanged | OnTopLeftChanged事件在TopRow属性或LeftCoI属性改变时被触发 |
# 5. TDrawGrid 组件
TDrawGrid表示以列和行格式显示信息的网格组件。
将TDrawGrid对象添加到窗体以表格格式显示任意信息。TDrawGrid提供了许多属性来控制网格的外观,以及利用网格的表格组织响应用户操作的事件和方法。TDrawGrid引入了几个事件和方法,允许应用程序自定义网格的外观和行为。
如果网格的单元格包含表示对象的文本字符串,请考虑使用TStringGrid对象。如果网格显示数据集中记录的字段值,请改用TDBGrid。TDrawGrid的属性设置与TStringGrid相同。
# 5.1. 属性
- TDrawGrid组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 确定是否在网格周围绘制单个线条边框 |
ColCount | 指定网格中的列数 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DefaultColWidth | 确定尚未显式调整大小的所有列的宽度(以像素为单位) |
DefaultDrawing | 确定绘制网格时是否绘制单元格 |
DefaultRowHeight | 指定尚未显式调整大小的所有行的高度(以像素为单位) |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
FixedColor | 指定网格中固定行和列的背景颜色 |
FixedCols | 指定网格左侧无法滚动的列数 |
FixedRows | 指定网格顶部无法滚动的行数 |
Font | 确定组件内显示的文本字体 |
GridLineWidth | 指定分隔网格单元格的线条的宽度(以像素为单位) |
Options | 指定网格的各种显示和行为属性 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
RowCount | 指定网格中的行数 |
ScrollBars | 指定网格是否包含水平和垂直滚动条 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
Visible | 确定组件是否可见 |
VisibleColCount | 指示网格中可见的可滚动列的数量 |
VisibleRowCount | 指示网格中可见的可滚动行数 |
# 5.2. 事件
- TDrawGrid组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnColumnMoved | 在列的位置更改后立即触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnDrawCell | 在需要绘制网格中的单元格时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnGetEditMask | 在就地编辑器请求编辑掩码时触发该事件 |
OnGetEditText | 在就地编辑器请求单元格的值时触发该事件 |
OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
OnKeyPress | 按下某个键时触发该事件 |
OnKeyUp | 用户释放已按下的键时触发该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnMouseWheelDown | 鼠标滚轮向下旋转时触发该事件 |
OnMouseWheelUp | 鼠标滚轮向上旋转时触发该事件 |
OnRowMoved | 在行的位置发生更改后立即触发该事件 |
OnSelectCell | 在选择网格中的单元格之前触发该事件 |
OnSetEditText | 在用户编辑单元格的值时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
OnTopLeftChanged | 在TopRow属性或LeftCol属性更改后立即触发该事件 |
# 6. TImage 组件
TImage用于显示图形图像。使用TImage在窗体上显示图形图像。使用Picture属性中的TPicture对象指定TImage显示的位图,图标,元文件或其他图形对象。TPicture的属性和方法可用于从文件加载图像,清除TImage中的图像以及为另一个组件分配图像之类的操作。TImage引入了几个属性来确定图像在TImage对象边界内的显示方式。
要将图像添加到窗体或数据模块以便其他组件(如操作列表和位图按钮)可以显示,请使用TImageList组件。TImage可以包含位图,图标,PNG,GIF或JPEG图像。TImageList可以保存TImage所拥有的任何图像类型。
# 6.1. 属性
- TImage组件主要属性
属性 | 功能说明 |
---|---|
Canvas | 提供用于修饰位图图像的绘图表面 |
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
AutoSize | 指定组件是否自动调整大小以适应图像的尺寸 |
Center | 指示图像是否在图像组件中居中 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
IncrementalDisplay | 指定在慢速操作期间是否应绘制图像的逐次逼近 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
Picture | 指定图像组件上显示的图像 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
Proportional | 指示是否应该更改图像而不失真,以使其适合图像组件的边界 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Stretch | 指示是否应更改图像以使其完全适合图像组件的边界 |
Transparent | 指定图像的背景是否遮挡图像对象下方的对象 |
Visible | 确定组件是否可见 |
# 6.1.1. Canvas 属性
property Canvas: TCanvas;
使用该属性可添加Picture属性中指定的图像,例如使用TCanvas对象的TextOut方法可在图像上显示文本。这个属性只在Picture属性指定一个位图(*.bmp)时才可用,如果指定其他类型的图像,则使用这个属性时将出现EinvalidOperation异常。
FThis.Image1.Canvas.Font.Size := 20;
FThis.Image1.Canvas.TextOut(40,20,'你好!');
2
# 6.1.2. Center 属性
property Center: Boolean;
该属性用于确定Image组件中的图像是否居中,为True,居中;为False (默认),从组件的左上角开始显示。当AutoSize或Stretch属性为True, 且Picture属性未指定图标时,该属性无效。
# 6.1.3. IncrementalDisplay 属性
property IncrementalDisplay: Boolean;
该属性用于指定在缓慢操作中绘制的图像是否近似连续。在调用一个很大压縮比后的图像需要很长时间或通过绘慢的计算过程才能改变图像时,可将这个属性设罝为True。此时,图像在比较慢的显示期间周期性的连续显示;为False (默认),图像在显示前等待,直到所有操作完成后才显示。
# 6.1.4. Picture 属性
property Picture: TPicture;
该属性指定了在Image组件中显示的图像,即TPicture对象,其中包含图标、图元文件、 位图图像或用户定义的图像。该属性的图像可在图像编辑器(Picture Editor)中调入。加载图像的脚本代码如下:
FThis.Image1.Picture.LoadFromFile(C:\icon.ico);
# 6.1.5. Proportional 属性
property Proportional: Boolean;
该属性用于指定图像是否不会失真,在图像组件中能完全显示。为True,填充的图像太大时将以按比例缩小的图像完全填充其图像组件,而填充的图像小于图像组件时按正常显示。所以该属性只能减少图像的放大率,而不能增加。当属性包含一个位图时,该属性无效。该属性默认为False。
# 6.1.6. Stretch 属性
property Stretch: Boolean;
该属性用于指定Image组件中的图像是否可以改变,以确切地将图像放入图像控制的边界。 为True,图像适合图像控制的大小和形状。当图像组件大小改变时,图像大小也改变。该属性会改变图像的高和宽,因此,在图像组件和图像的形状不一样时,它可扭曲图像组件上的图像。 要调整Image组件中图像与组件的大小相同,最好使用AutoSize属性。如果Picture属性包含的是一个图标,则该属性值无效。
# 6.1.7. Transparent 属性
property Transparent: Boolean;
该属性用于指定图像的背景是否遮盖其下面的图像对象,为True,可透过位图的背景看到TImage对象下面的对象;为False,位图背景不透明。设置这个属性就设置了 Picture的Transparent 属性。该属性只有在Picture属性指定一个TBitmap对象时才有效。
# 6.2. 事件
- TImage组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnProgress | 在影响图像的慢速操作期间定期触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
# 7. TShape 组件
TShape表示可以在窗体上绘制的几何形状。将TShape对象添加到窗体以在窗体上绘制简单的几何形状。TShape引入了属性来描述用于勾勒形状的笔和用于填充它的笔刷。如果形状只是自定义组件图像的一部分,请改用组件Canvas的方法。
# 7.1. 属性
- TShape组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
Brush | 指定用于填充形状组件的颜色和图案 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
Pen | 指定用于勾勒形状组件的笔 |
Shape | 指定组件的形状 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Visible | 确定组件是否可见 |
# 7.1.1. Brush 属性
property Brush:Tbrush;
该属性指定用于填充Shape组件的颜色和图案。可改变Shape组件内部填充的颜色和图案。
# 7.1.2. Shape 属性
type TshaleType=(stRectangle,stSqure,stRoundRect,stRoundSquare,stEllipse,stCircle);
property Shape:TShapeType;
2
该属性用于指定Shape组件的几何形状,设置这个属性可改变在窗体中绘制的几何图形的形状
- stCircle: 画圆。
- stEllipse: 画椭圆。
- stRectangle: 画矩形。
- stRoundRect: 画圆角的矩形。
- stRoundSquare: 画圆角的正方形。
- stSquare: 画正方形。
# 7.1.3. Pen属性
property Pen:Tpen;
该属性用于指定绘制Shape组件轮廓的画笔,读取这个属性可获得Tpen对象。指定绘制Shape组件轮廓的画线的颜色和风格。使用该属性可改变Shape组件画线的颜色和风格。
# 7.2. 事件
- TShape组件主要事件列表
事件 | 何时触发 |
---|---|
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 8. TBevel 组件
TBevel代表斜面轮廓。使用TBevel创建斜面框,框架或线条。 斜面可以升高或降低。
# 8.1. 属性
- TBevel组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
Shape | 确定斜角的形状 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Style | 确定斜面是升高还是降低 |
Visible | 确定组件是否可见 |
# 8.1.1. Shape 属性
type TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine, bsSpacer);
property Shape: TBevelShape;
2
属性用于确定Bevel对象的形状。设置这个属性可指定Bevel对象显示的是线、盒子、 方框或空间的斜角情况。
- bsBox: 由Style属性值决定,整个客户区域显示为凸起或凹下。
- bsFrame: 客户区域是凸起或凹下的轮廓方框。
- bsTopLine: Bevel对象在客户区域的顶部显示一条线。
- bsBouttonLine: Bevel对象在客户区域的底部显示一条线。
- bsLeftLine: Bevel对象在客户区域的左边显示一条线。
- bsRightLine: Bevel对象在客户区域的右边显示一条线。
- bsSpacer: Bevel 对象是空的空间。
# 8.1.2. Style 属性
type TBevelStyle=(bsLowered,bsRaised);
property Style:TBevelStyle;
2
该属性用于确定Bevel对象的显示是凸起还是凹下状态,为bsBox时,整个客户区域显示为凸起或凹下;为其他值时,Bevel对象沿着组件边缘或客户区域边缘显示凸起或凹下的线。
# 9. TScrollBox 组件
TScrollBox表示窗口中的滚动区域(滚动框)。使用TScrollBox在窗口中创建滚动框。
滚动框的一个用途是防止窗口区域(例如使用TPanel组件构建的工具栏或状态栏)滚动。要防止工具栏和状态栏滚动,请隐藏窗口的滚动条,然后在工具栏和状态栏之间的窗口的客户区域中放置一个滚动框。与滚动框关联的滚动条属于窗口,但仅滚动滚动框内的区域。
滚动框的另一个用途是在窗口中创建多个滚动区域(视图)。滚动框可以包含对象,例如TButton和TCheckBox对象。
# 9.1. 属性
- TScrollBox组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
AutoScroll | 指示滚动条是否自动出现在滚动窗口组件上,如果它不足以显示其所有组件 |
AutoSize | 指定组件是否自动调整大小以容纳其内容 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 指定滚动框是否具有边框 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DockSite | 使用该属性可确定组件是否为拖动和停靠操作目标 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
Padding | 指定组件的填充 |
ParentBackground | 确定组件是否使用父级的主题背景 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色。 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性。 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性。 |
ParentFont | 确定组件是否使用父组件的Font。 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示。 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单。 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”。 |
TabOrder | 确定父组件的切换顺序。 |
TabStop | 使用该属性可允许或不允许用Tab访问组件。 |
Visible | 确定组件是否可见。 |
# 9.1.1. Action 属性
property Action: TBasicAction;
该属性是与组件关联的行为对象,允许应用程序集中响应用户命令。当组件与行为相关联时,行为确定组件的适当属性和方法。要在设计程序时创建行为,则在窗体或数据模块上放置行为列表组件。双击该行为列表将打开行为列表编辑器,在编辑器中使用菜单添加行为。使用列表编辑器添加的行为将在对象观察器中的Action属性的下拉列表中显示。
# 9.1.2. AlignDisabled 属性
property AlignDisabled: Boolean;
如果子组件的重新排列通过调用DisableAlign禁止,则该属性返回True。
# 9.1.3. BevelEdges 属性
property BevelEdges: TBevelEdges;
BevelEdges属性用于确定组件的边缘的斜面。在设置滚动框边框斜面时,如果BevelKind属性为bkNone,则BelvelEdges属性不起作用。
- beLeft: 组件的左边缘有斜面。
- beTop: 组件的上边缘有斜面。
- beRight: 组件的右边缘有斜面。
- beBottom: 组件的底边缘有斜面。
# 9.1.4. BevelWidth 属性
property BevelWidth: TBevelWidth;
使用该属性可指定内外斜角的像素宽度。
# 9.1.5. Brush 属性
property Brush: TBrush;
使用该属性可确定组件背景的风格和颜色。因为窗体组件只有一个Brush对象处理组件背景的绘制,所以该属性为只读。使用TBrush对象的Color和Style属性可改变画刷的属性,使用TBrush对象的Assign方法可改变一个画刷的所有属性与另一画刷的属性相匹配。
# 9.1.6. HorzScrollBar 属性
property HorzScrollBar: TControlScrollBar;
通过设置HorzScrollBar属性可隐藏、显示或操作滚动窗口组件的水平滚动条。
# 9.1.7. PopupMenu 属性
property PopupMenu: TPopupMenu;
为该属性分配一个值,可使右击组件后显示弹出式菜单。如果TPopupMenu对象的这个属性为True,则自动显示弹出式菜单;否则从组件的OnContextPopup事件处理程序中调用菜单的Popup方法显示菜单。
# 9.1.8. VertScrollBar 属性
property VertScrollBar: TControlScrollBar;
通过设罝VertScrollBar属性可隐藏、显示或操作滚动窗口组件的垂直滚动条。
# 9.2. 事件
- TScrollBox组件主要事件列表
事件 | 何时触发 |
---|---|
OnCanResize | 尝试调整组件的大小时触发该事件 |
OnClick | 用户单击组件时触发该事件 |
OnConstrainedResize | 调整调整大小约束。 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时发生。 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时发生。 |
OnDockDrop | 当另一个组件停靠到组件时发生。 |
OnDockOver | 在组件上拖动另一个组件时发生。 |
OnDragDrop | 用户删除正在拖动的对象时发生。 |
OnDragOver | 当用户在组件上拖动对象时发生。 |
OnEndDock | 拖动对象结束时,通过停靠对象或取消拖动来发生。 |
OnEndDrag | 通过删除对象或取消拖动来拖动对象结束时发生。 |
OnEnter | 在组件接收输入焦点时发生。 |
OnExit | 当输入焦点从一个组件转移到另一个组件时发生。 |
OnGetSiteInfo | 返回组件的停靠信息。 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时发生。 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时发生。 |
OnMouseEnter | 用户将鼠标移动到组件中时发生。 |
OnMouseLeave | 用户将鼠标移出组件之外时发生。 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时发生。 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时发生。 |
OnMouseWheel | 旋转鼠标滚轮时发生。 |
OnMouseWheelDown | 鼠标滚轮向下旋转时发生。 |
OnMouseWheelUp | 鼠标滚轮向上旋转时发生。 |
OnResize | 在调整组件大小后立即发生。 |
OnStartDock | 当用户开始使用DragKind dkDock拖动组件时发生。 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时发生。 |
OnUnDock | 当应用程序尝试取消停靠到窗口组件的组件时发生。 |
# 9.3. 方法
# 9.3.1. DisableAlign 方法
procedure DisableAlign;
当需要暂时禁止子组件重排时调用该方法,例如当执行组件的多任务操作时,读取窗体文件或执行缩放。如果在所有操作结束后才允许子组件重排,可提高执行性能。在每一次调用该方法后,必须相应调用EnableAlign方法。该方法会增加参数数量,EnableAlign会减少参数数量。当参数数量为0时,EnableAlign将执行任何需要的组件重排。
# 9.3.2. PaintTo 方法
procedure PaintTo(DC: HDC; X,Y: Integer);
调用该方法可在设备环境中绘制组件,DC参数值指定设备环境,X和Y坐标值表示窗口组件的左上角位置。这个方法首先删除设备环境的背景,然后绘制组件。要将组件的图像绘入DC位图中时,该方法非常有用。参数DC标识一个设备描述体,X、Y标识描述休中绘制窗口组件的左上角坐标。
# 9.3.3. Repaint 方注
procedure Repaint; override;
调用该方法可重绘组件,它调用Invalidate方法,然后调用Update方法来重绘组件。
# 9.3.4. ScaleBy 方法
procedure ScaleBy(M, D: Integer);
调用该方法可重新调节组件和其子组件,它只修改组件的Height和Width属性,并不更改Top和Left属性。因此虽然组件的尺寸大小产生变化,但是组件左上角的坐标并不改变。
M和D参数确定组件及其子组件重新调整的百分比。M为乘数,D为除数。
说明:因为组件尺寸和坐标值为整数,所以通过M/D比例调节尺寸时将可能导致舍入错误、如果不断调用该方法,在某点上组件将消失移出窗口。当反复调节组件时,在几次调节组件后 应删除和重载窗体,以避免坐标系产生累积输入错误。
# 10. TCheckListBox 组件
TCheckListBox显示一个可滚动列表,每个项旁边都有复选框。TCheckListBox类似于TListBox,除了每个项目旁边都有一个复选框。用户可以选中或取消选中列表中的项目。
# 10.1. 属性
- TCheckListBox组件主要属性
属性 | 功能说明 |
---|---|
Checked | 指示检查了哪些项目 |
Header | 指示哪些项目充当标题 |
ItemEnabled | 启用或禁用列表中的各个项目 |
State | 指示检查了哪些项目 |
Align | 确定组件在其父组件区内的对齐方式 |
AllowGrayed | 确定复选框是否可以处于“灰色”状态 |
Anchors | 指定组件如何停放在父窗体中 |
AutoComplete | 确定用户是否可以通过在列表中键入来关注项目 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 确定列表框是否具有边框 |
Color | 指定组件的背景颜色 |
Columns | 指定多列列表框中的列数,无需滚动即可显示 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Flat | 确定复选框是否显示为三维 |
Font | 确定组件内显示的文本字体 |
HeaderBackgroundColor | 指定列表框中标题项的背景颜色 |
HeaderColor | 指定列表框中标题项的字体颜色 |
ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
ImeName | 设置该属性可配置IME名称 |
IntegralHeight | 确定列表框是否显示部分项目 |
ItemHeight | 指定所有者 - 绘制列表框中项目的高度(以像素为单位) |
Items | 包含列表框中显示的字符串 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ScrollWidth | 指定列表框可以水平滚动的宽度(以像素为单位) |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Sorted | 指定列表框中的项目是否按字母顺序排列 |
Style | 确定列表框是标准框还是所有者绘图以及它是否为虚拟列表框 |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
TabWidth | 指定列表框中选项卡的大小 |
Visible | 确定组件是否可见 |
# 10.1.1. AllowGrayed 属性
property AllowGrayed: Boolean;
指定列表框中项的状态,即选中、不选中和选中但变灰。
# 10.1.2. Checked 属性
property Checked[index: integer]: Boolean;
该属性用于设置列表框中的项是否被选中。
# 10.1.3. ItemEnabled 属性
Property ItemEnabled[index: integer]: Boolean;
通过此数组可以使列表框中的某项有效或无效。
# 10.1.4. State 属性
Property State[index: integer]: TCheckBoxState;
此属性用于设置或返回列表框中项的状态。包括选中、未选中和变灰三种状态。
# 10.2. 事件
- TCheckListBox组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnClickCheck | 用户选中或取消选中项目复选框时触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnData | 当虚拟列表框需要提供项目的文本时触发该事件 |
OnDataFind | 当虚拟列表框需要识别给定其文本的项目的索引时触发该事件 |
OnDataObject | 当虚拟列表框需要提供与项关联的对象时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnDrawItem | 在需要重新显示所有者 - 绘制列表框中的项目时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
OnKeyPress | 按下某个键时触发该事件 |
OnKeyUp | 用户释放已按下的键时触发该事件 |
OnMeasureItem | 当应用程序需要在可变高度所有者 - 绘制列表框中重新显示项目时触发该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 11. TSplitter 组件
TSplitter将窗体的客户区域划分为可调整大小的窗格。
在两个对齐的组件之间向窗体添加拆分器,以允许用户在运行时调整组件的大小。拆分器位于与窗体的一个边缘对齐的组件和填充客户区域其余部分的组件之间。为拆分器提供与锚定到窗体边缘的组件相同的对齐方式。当用户移动分割器时,它会调整锚定组件的大小。反过来,这会更改窗体的客户区域,并且填充客户区域其余部分的组件会相应地调整大小。
该组件将窗体上的每个组件用作单独的窗格。放置每个窗格后,放置具有相同对齐方式的拆分器,以允许调整窗格大小。放置在窗体上的最后一个窗格应该是客户端对齐的,以便在调整所有其他窗格大小后自动调整大小以填充剩余空间。
# 11.1. 属性
- TSplitter组件主要属性
属性 | 功能说明 |
---|---|
Canvas | 提供图形组件使用的绘图表面 |
Align | 确定组件在其父组件区内的对齐方式 |
AutoSnap | 确定在使用拆分器使其小于MinSize时是否将相邻对象的大小调整为零 |
Beveled | 确定分割器是否沿着移动的边缘倾斜 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Cursor | 指定用于在鼠标指针进入组件覆盖的区域时表示鼠标指针的图像 |
MinSize | 指定拆分器两侧窗格的最小大小(以像素为单位) |
ParentColor | 组件要使用与其父组件相同的颜色 |
ResizeStyle | 指定移动拆分器的效果 |
Visible | 确定组件是否可见 |
Width | 指定组件或窗体的水平大小(以像素为单位) |
# 11.1.1. AutoSnap 属性
property AutoSnap: Boolean;
AutoSnap属性用于确定相邻的对象是否调整为0。当该属性为True时,防止分隔条试图使用的值小于MinSize时,相邻的对象调整为0的情况出现;为False时,这样的试图调整被简单地阻止,为MinSize的值时离开相邻的对象。
# 11.1.2. Beveled 属性
property Beveled: Boolean;
该属性用于确定分隔条沿着边移动时是否有斜曲。True: 3D 斜曲。False:没有斜面。
# 11.1.3. MinSize 属性
type NaturalNumber = l..High(Integer);
property MinSize: NaturalNumber;
2
MinSize属性用于指定分隔条边的窗体的最小像素值。设罝这个属性可确保改变相邻组件的大小时,分隔条保留最小值。
# 11.1.4. ResizeStyle 属性
type TResizeStyle = (rsNone, rsLine, rsUpdate, rsPattern);
property ResizeStyle: TResizeStyle;
2
该属性用于指定分隔条移动的效果。当用户用鼠标移动分隔条时,使用这个属性可确定产生的状态。
- rsNone: 用鼠标移动分隔条时无效果。
- rsLine: 释放鼠标在当前位罝上画—条线表示分隔条的新位罝。而分隔条并没有真正移动,组件也未被调整。
- rsUpdate: 分隔条旁边的组件以鼠标当前位置调整大小,分隔条也移到新的位置。
- rsPattern: 释放鼠标它,在当前位置上画一个图案,用来表示分隔条的新位置。而分隔条并没有真正移动,组件也未调整。
# 11.2. 事件
- TSplitter组件主要事件列表
事件 | 何时触发 |
---|---|
OnCanResize | 当用户尝试使用鼠标移动拆分器时发生 |
OnMoved | 在用户使用拆分器重新连接窗体后发生 |
OnPaint | 分割器需要绘制自身时发生 |
# 12. TStaticText 组件
TStaticText是一个窗口组件,可以在窗体上显示文本。TStaticText组件的功能类似于TLabel,不同之处在于它来自TWinControl,因此具有窗口句柄。当组件的快捷键必须属于窗口组件时(例如,在ActiveX属性页上),请使用TStaticText而不是TLabel。
# 12.1. 属性
- TStaticText组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Alignment | 确定文本在组件中的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
AutoSize | 确定是否自动调整组件大小以容纳其文本 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 确定组件边框的外观 |
Caption | 指定标识用户组件的文本字符串 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
FocusControl | 将组件与另一个窗口组件链接 |
Font | 确定组件内显示的文本字体 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ShowAccelChar | 启用加速器字符 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Transparent | 指定图像的背景是否遮挡图像对象下方的对象 |
Visible | 确定组件是否可见 |
# 12.2. 事件
- TStaticText组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 用户单击组件时触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
# 13. TControlBar 组件
TControlBar组件用于管理工具栏组件的布局,可作为工具栏组件的一个停放处。
# 13.1. 属性
- TControlBar组件主要属性
属性 | 功能说明 |
---|---|
Canvas | 指定显示组件的绘图表面的TCanvas对象 |
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
AutoDock | 确定控制栏是否临时停靠拖动客户端以提供可视反馈 |
AutoDrag | 指定是否可以通过拖动来取消停靠控制带 |
AutoSize | 指定组件是否自动调整大小以容纳其内容 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BorderWidth | 使用该属性可获得或设置组件的边框宽度 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
CornerEdge | 带边缘的转弯大小 |
DockSite | 使用该属性可确定组件是否为拖动和停靠操作目标 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
DrawingStyle | 这是DrawingStyle,类TControlBar的成员 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
GradientDirection | 水平或垂直 |
GradientEndColor | 存储渐变结束时绘制渐变的颜色 |
GradientStartColor | 存储渐变在开始时绘制的颜色 |
ParentBackground | 确定组件是否使用父级的主题背景 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
Picture | 指定控制栏的图片 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
RowSize | 指定组件栏行的高度 |
RowSnap | 指定组件在停靠时是否捕捉到组件栏的行 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Visible | 确定组件是否可见 |
# 13.1.1. AutoDrag 属性
property AutoDrag:Boolean;
指定组件控制带是否可以被拖动。True:控制带可以拖动。False:控制带不能拖动。
# 13.1.2. Picture 属性
property Picture: Tpicture;
该属性用干指定一个图像作为TControlBar组件的背景图案。如果图像的尺寸小于TControlBar组件的尺寸,那么就会自动平铺。
# 13.1.3. RowSnap 属性
Property RowSnap:Boolean;
该属性指“入坞”进来的工具栏或组件将自动与预设的行对齐。
# 13.2. 事件
- TControlBar组件主要事件列表
事件 | 何时触发 |
---|---|
OnAlignInsertBefore | 在对齐具有自定义对齐的对象时触发该事件 |
OnAlignPosition | 在对齐具有自定义对齐的对象时触发该事件 |
OnBandDrag | 用户在指定组件上启动拖动操作时触发该事件 |
OnBandInfo | 控制栏调整波段的停靠位置时触发该事件 |
OnBandMove | 在控制波段移动时触发该事件 |
OnBandPaint | 在绘制控制带时触发该事件 |
OnBeginBandMove | 这是OnBeginBandMove,类TControlBar的成员。 |
OnCanResize | 尝试调整组件的大小时触发该事件 |
OnClick | 用户单击组件时触发该事件 |
OnConstrainedResize | 调整调整大小约束。 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
OnDockDrop | 当另一个组件停靠到组件时触发该事件 |
OnDockOver | 在组件上拖动另一个组件时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndBandMove | 这是OnEndBandMove,类TControlBar的成员。 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnGetSiteInfo | 返回组件的停靠信息。 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnPaint | 在控制条被绘制时触发该事件 |
OnResize | 在调整组件大小后立即触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
OnUnDock | 当应用程序尝试取消停靠到窗口组件的组件时触发该事件 |
# 14. TApplicationEvents 组件
TApplicationEvents组件用于截取应用程序级的事件,使用该组件截取应用程序对象的所有事件。当在窗体中添加一个 TApplicationEvents 对象时,Application 对象向 TApplicationEvents 对象发送所有事件。因此每个TApplicationEvents对象的事件和Application对象的事件完全相同。
# 14.1. 事件
- TApplicationEvent组件主要事件列表
事件 | 何时触发 |
---|---|
OnActionExecute | 在调用操作的Execute方法且其操作列表尚未处理它时触发该事件 |
OnActionUpdate | 在调用操作的Update方法并且其操作列表尚未处理它时触发该事件 |
OnActivate | 应用程序变为活动状态时触发该事件 |
OnDeactivate | 应用程序变为非活动状态时触发该事件 |
OnException | 在应用程序中发生未处理的异常时触发该事件 |
OnHelp | 在应用程序收到帮助请求时触发该事件 |
OnHint | 当鼠标指针移动到可以显示帮助提示的组件或菜单项时触发该事件 |
OnIdle | 应用程序变为空闲时触发该事件 |
OnMessage | 应用程序收到Windows消息时触发该事件 |
OnMinimize | 应用程序最小化时触发该事件 |
OnModalBegin | 这是OnModalBegin,类TApplicationEvents的成员 |
OnModalEnd | 这是OnModalEnd,类TApplicationEvents的成员 |
OnRestore | 在先前最小化的应用程序恢复到其正常大小时触发该事件 |
OnSettingChange | Windows通知应用程序系统范围设置已更改时触发该事件 |
OnShortCut | 在用户按下某个键时(在OnKeyDown事件之前)触发该事件 |
OnShowHint | 在应用程序即将显示帮助提示的提示窗口时触发该事件 |
# 15. TEmailMsg 组件
此控件用于设置邮件发送相关的参数,通过控件配置的方式可快速完成邮件参数信息的配置。
# 15.1. 属性
属性 | 说明 |
---|---|
Address | 邮件发送的目标地址邮箱 |
Attachments | 附件的地址列表 |
Body | 邮件的正文内容 |
BodyHtml | 邮件的正文是否使用HTML格式解析 |
CCAdressList | 设置抄送的邮箱的列表 |
Host | 邮件服务器的地址 |
Password | 邮件发件邮箱的密码 |
Port | 邮件服务器的通讯端口号,SMTP服务默认端口号为25;如使用STARTTLS协议发送邮件,端口号请设置为587;如使用SSL/TLS协议发送邮件,端口号请设置为465 |
Receipt | 设置是否发送邮件的已读回执 |
ReceiptAddress | 设置已读回执的传输地址 |
Subject | 设置邮箱的标题 |
Username | 设置用户名 |
# 15.2. 方法
function SendEmail: Boolean;
设置发送邮件,并反馈发送是否成功的信息。