数据感知控件
# Smart 控件使用(数据感知)
数据感知控件用于将数据集中的数据记录通过控件的方式将字段值显示出来。
# 1. TDBGrid 组件
TDBGrid显示和操作表格网格中数据集的记录。
将TDBGrid对象放在窗体上以显示和编辑数据库表或查询中的记录。应用程序可以使用数据网格在数据库中插入,删除或编辑数据,或者只是显示数据。
在运行时,用户可以使用数据库导航器(TDBNavigator)在网格中移动数据,以及插入,删除和编辑数据。在用户移动到其他记录或关闭应用程序之前,数据网格中的编辑不会发布到基础数据集。
TDBGrid实现了TCustomDBGrid中引入的泛型行为。TDBGrid发布了许多从TCustomDBGrid继承的属性,但没有引入任何新行为。
# 1.1. 属性
- TDBGrid组件主要属性
| 属性 | 功能说明 |
|---|---|
| Canvas | 指定显示组件的绘图表面的TCanvas对象 |
| SelectedRows | 为数据集中与网格中选定的行对应的所有记录指定一组书签 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| BorderStyle | 确定是否在网格周围绘制单个线条边框 |
| Color | 指定组件的背景颜色 |
| Columns | 描述列的显示属性和字段绑定 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataSource | 标识指向数据感知网格查找其数据的数据集的链接 |
| DefaultDrawing | 指示是否自动绘制数据感知网格中的单元格 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| FixedColor | 指定网格中固定行和列的背景颜色 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器。 |
| ImeName | 设置该属性可配置IME名称 |
| Options | 指定数据感知网格的各种显示和行为属性 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 指示网格是仅用于显示,还是用户是否可以使用网格编辑数据 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| TitleFont | 描述用于在网格中绘制列标题的字体 |
| Visible | 确定组件是否可见 |
# 1.1.1. Columns 属性
Property Columns:TDBGridColumns;
使用该属性可读取或设置数据感知表格中列的字段绑定和显示属性,这是一个Tcolumn对象集合的索引。使用Tcolumn对象的属性可指定表格中单个列的显示特征或字段绑定,列的字段绑定指定由DataSource参数指定数据集内的字段。在程序设计时,通过Columns编辑器或在程序运行时编程设置该属性。
# 1.1.2. FieldCount 属性
Property FieldCount:integer;
使用该属性可遍历Field属性索引的所有字段,它可与数据集中的字段数量不同,因为表格可包含计算后的字段,而且不是数据集中所有字段都需要显示在表格中。程序设计时,使用Columns编辑器可删除字段或添加计算出的字段。该属性在程序运行时与列数相同。在程序设计时,表格可包含空列。
# 1.1.3. Options 属性
TypeTDBGridOption=(dgEditing,dgAlwaysShowEditor,dgTitles,dgindicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,
dgRowSelect,dgAlwaysShowSelection,dgConfirmDelete,dgCnaceOnExit,dgMultiSelect);
Property Options:TDBGridOptions;
2
3
该属性用于指定数据感知表格的属性的各种显示和行为,设置Options为包含所要的属性。
| 值 | 说明 |
|---|---|
| DgEditing | 用户可用表格编辑数据。如果Options包含dgRowSelect,则忽略dgEditing |
| DgAlwaysShowEditor | 表格总是编辑模式。即用户在编辑单元内容前,不能按Enter或F12键。除非Options 也包含DgEditing,否则DgAlwaysShowEditor不执行操作。如果Options包含 DgRowSelect,则忽略DgAlwaysShowEditor |
| DgTitles | 标题显示在表格种列的顶部 |
| Dglndicator | 在第1列种显示一个小指针表示该行为当前行 |
| DgColumnResize | 受字段约束的列可调整或移动 |
| DgColLines | 在表格列之间显示线 |
| DgRowLine | 在表格行之间显示线 |
| DgTabs | 用户可用Tab和Shift+Tab键切换表格 |
| DgRowSelect | 用户可选择整行或整个单元。如果Options包含DgRowSelect,则忽略DgEditing和DgAlwaysShowEditor |
| DgAlwaysShowSelection | 即使表格没有焦点,所选单元也显示焦点矩形 |
| DgConfirmDelete | 当用户按Ctrl+Delete组合键来删除表格中的一行时,将打开一个信息框 |
| DgCancelOnExit | 用户退出表格时插入的记录未传递到数据集中,这可防止无意传递空记录 |
| DgMultiSelect | 在表格中一次可选择多行 |
# 1.2. 事件
- TDBGrid组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnCellClick | 当用户在网格的一个单元格中释放鼠标时发生 |
| OnColEnter | 焦点移动到网格中的新单元格时发生 |
| OnColExit | 在网格中的单元格丢失输入焦点之前发生 |
| OnColumnMoved | 用户使用鼠标移动列时发生 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时发生 |
| OnDragDrop | 用户删除正在拖动的对象时发生 |
| OnDragOver | 当用户在组件上拖动对象时发生 |
| OnDrawColumnCell | 在网格需要绘制单元格时发生 |
| OnDrawDataCell | 如果Columns的State属性为csDefault,则网格需要绘制单元格时发生 |
| OnEditButtonClick | 用户按下网格列中的省略号按钮时发生 |
| OnEndDock | 拖动对象结束时,通过停靠对象或取消拖动来发生 |
| OnEndDrag | 通过删除对象或取消拖动来拖动对象结束时发生 |
| OnEnter | 在组件接收输入焦点时发生 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时发生 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时发生 |
| OnKeyPress | 按下某个键时发生 |
| OnKeyUp | 用户释放已按下的键时发生 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时发生 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时发生 |
| OnMouseEnter | 用户将鼠标移动到组件中时发生 |
| OnMouseLeave | 用户将鼠标移出组件之外时发生 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时发生 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时发生 |
| OnMouseWheel | 旋转鼠标滚轮时发生 |
| OnMouseWheelDown | 鼠标滚轮向下旋转时发生 |
| OnMouseWheelUp | 鼠标滚轮向上旋转时发生 |
| OnStartDock | 当用户开始使用DragKinddkDock拖动组件时发生。 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时发生。 |
| OnTitleClick | 当用户在其中一个列标题中释放鼠标时发生。 |
# 2. TDBNavigator 组件
TDBNavigator(数据库导航器)用于在数据集中移动数据并对数据执行操作,例如插入空白记录或发布记录。
在包含数据感知组件的窗体上使用数据库导航器,例如TDBGrid或TDBEdit。TDBNavigator允许用户在编辑或查看数据时控制数据集。
当用户选择其中一个导航器按钮时,会在导航器链接到的数据集上执行相应的操作。例如,如果用户单击“插入”按钮,则会在数据集中插入空白记录。
TDBNavigator可以显示以下任何或所有按钮:
| 按钮 | 目的 |
|---|---|
| First | 将当前记录设置为数据集中的第一个记录,禁用“第一个”和“之前”按钮,并启用“下一个”和“最后一个”按钮(如果已禁用) |
| Prior | 将当前记录设置为上一个记录,如果禁用,则启用“上一个”和“下一个”按钮 |
| Next | 将当前记录设置为下一条记录,如果禁用它们,则启用“第一”和“之前”按钮 |
| Last | 将当前记录设置为数据集中的最后一条记录,禁用“上一个”和“下一个”按钮,并启用“第一个”和“之前”按钮(如果已禁用) |
| Insert | 在当前记录之前插入新记录,并将数据集设置为“插入”和“编辑”状态 |
| Delete | 删除当前记录并使下一条记录成为当前记录 |
| Edit | 将数据集置于“编辑”状态,以便可以修改当前记录 |
| Post | 将当前记录中的更改写入数据库 |
| Cancel | 取消对当前记录的编辑,在编辑前将记录显示恢复到其状态,如果它们处于活动状态,则关闭“插入”和“编辑”状态 |
| Refresh | 刷新关联数据集中的缓冲数据 |
# 2.1. 属性
- TDBNavigator组件主要属性
| 属性 | 功能说明 |
|---|---|
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| ConfirmDelete | 确定是否出现一个消息框,要求用户确认使用数据库导航器启动的记录删除 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataSource | 将导航器链接到它控制的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Flat | 确定导航器的按钮是否具有带边框的三维(3-D)外观或无边框的二维外观 |
| Hints | 提供一种自定义数据库导航器上按钮的帮助提示的方法 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
| VisibleButtons | 确定数据库导航器上显示的按钮 |
# 2.1.1. ConfirmDelete 属性
property ConfirmDelete: Boolean;
该属性用于确定用户使用数据库导航器删除记录时系统是否弹出一个对话框允许确认删除操作,通过使用这个属性可防止误删除数据集中的记录。
# 2.2. 事件
- TDBNavigator组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| BeforeAction | 在执行操作之前单击数据库导航器上的按钮时触发该事件 |
| OnClick | 在执行操作后单击数据库导航器上的按钮时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时发生。触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 拖动对象结束时,通过停靠对象或取消拖动时触发该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnResize | 在调整组件大小后立即触发该事件 |
| OnStartDock | 当用户开始使用DragKinddkDock拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 2.3. 方法
- TDBNavigator组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| BtnClick | 模拟数据库导航器上的按钮单击,调用按钮的操作 |
| GetChildren | 为组件的每个子项调用指定的方法 |
| SetBounds | 一次设置数据库导航器的边界属性 |
# 2.3.1. SetBounds 方法
procedure SetBounds(ALeft, ATop, AWidth, Alleight: Integer);
参数 Aleft、Atop、Awidth和Aheight的值分别被传送到Left、Top、Width 和 Height属性中。这个方法用于调整导航器上的按钮适应这些边界值,虽然可单独设置个别的边界属性,但是使用该方法可同时改变这些值,这样即可避免每次改变其中一个值就要调整一次按钮。
# 3. TDBText 组件
TDBText表示一个数据感知组件,它显示窗体上字段的值。
使用TDBText显示窗体上数据集的当前记录中字段的内容。用户无法使用文本组件修改数据库文本组件显示的字段值。要允许用户编辑字段值,请改用TDBEdit或TDBMemo。 如果应用程序不需要TDBText的数据感知功能,请使用标签组件(TLabel)来节省系统资源。除数据感知功能外,TDBText组件的使用方法与TLabel相同。
# 3.1. 属性
- TDBText组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 指示数据库文本组件表示的数据库字段的TField对象 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Alignment | 控制文本在标签中的水平放置 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoSize | 确定数据库文本组件是否自动调整为当前字符串的宽度和长度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| DataField | 指定数据库文本组件显示其值的字段 |
| DataSource | 将文本组件链接到包含其表示的字段的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| Transparent | 指定是否可以通过标签查看位于窗体上标签下方的组件 |
| Visible | 确定组件是否可见 |
| WordWrap | 指定标签文本在标签宽度过长时是否换行 |
# 3.1.1. DataField 属性
property DataField: String;
包含TDBEdit对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBEdit对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 3.2. 事件
- TDBText组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始使用DragKinddkDock拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 3.3. 方法
- TDBText组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBText作为目标调用动作 |
| UpdateAction | 更新操作以反映TDBText的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否为从右向左模式 |
# 4. TDBEdit 组件
TDBEdit表示单行编辑组件,可以显示和编辑数据集中的字段。使用TDBEdit使用户能够编辑数据库字段。TDBEdit使用Text属性来表示字段的内容。TDBEdit只允许一行文本。如果该字段可能包含需要多行的冗长数据,请考虑使用TDBMemo对象。
如果应用程序不需要TDBEdit的数据感知功能,请使用编辑组件(TEdit)来节省系统资源。除数据感知功能外,TDBEdit组件的使用方法与TEdit相同。
# 4.1. 属性
- TDBEdit组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 指定编辑框表示的数据库字段的TField对象 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoSelect | 确定组件获得焦点时是否自动选择编辑组件中的所有文本 |
| AutoSize | 确定编辑组件的高度是否自动调整大小以容纳文本 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式。 |
| BorderStyle | 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框 |
| CharCase | 确定编辑组件中文本的大小写 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 指定编辑组件显示数据的字段 |
| DataSource | 将编辑组件链接到包含其表示的字段的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| MaxLength | 指定可在编辑组件中显示的最大字符数 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示。 |
| PasswordChar | 指示要显示的字符(如有),以代替在组件中键入的实际字符 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以使用数据库编辑框更改当前记录中字段的值 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 4.1.1. DataField 属性
property DataField: String;
包含TDBEdit对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBEdit对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 4.2. 事件
- TDBEdit组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnChange | 编辑组件的文本可能已更改时发生 |
| OnClick | 用户单击组件时发生 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时发生 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时发生 |
| OnDragDrop | 用户删除正在拖动的对象时发生 |
| OnDragOver | 当用户在组件上拖动对象时发生 |
| OnEndDock | 拖动对象结束时,通过停靠对象或取消拖动来发生 |
| OnEndDrag | 通过删除对象或取消拖动来拖动对象结束时发生 |
| OnEnter | 在组件接收输入焦点时发生 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时发生 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时发生 |
| OnKeyPress | 按下某个键时发生 |
| OnKeyUp | 用户释放已按下的键时发生 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时发生 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时发生 |
| OnMouseEnter | 用户将鼠标移动到组件中时发生 |
| OnMouseLeave | 用户将鼠标移出组件之外时发生 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时发生 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时发生 |
| OnStartDock | 当用户开始使用DragKinddkDock拖动组件时发生 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时发生 |
# 4.3. 方法
- TDBEdit组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBEdit作为目标调用动作。 |
| UpdateAction | 更新操作以反映TDBEdit的当前状态。 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否为从右向左模式。 |
# 5. TDBMemo 组件
TDBMemo表示可以显示和编辑数据集中的字段的多行编辑组件。使用TDBMemo让用户编辑可能包含冗长文本数据的字段,或者只显示此类字段的内容。TDBMemo使用Text属性来表示字段的内容。TDBMemo允许多行文本。因此,TDBMemo适用于长字母数字字段或文本二进制大对象(BLOB)。
对于简短的字母数字字段,请考虑使用TDBEdit组件。如果应用程序不需要TDBMemo的数据感知功能,请使用备忘录组件(TMemo)来节省系统资源。除数据感知功能外,TDBMemo组件的使用方法与TMemo相同。
# 5.1. 属性
- TDBMemo组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 标识数据库备忘录链接到的TField组件 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Alignment | 确定文本在文本编辑组件中的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoDisplay | 确定是否在数据库备忘录中自动显示备忘录或图形BLOB的内容 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| BorderStyle | 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 指定数据库备忘录显示数据的字段的名称 |
| DataSource | 将备忘录组件链接到包含备忘录组件显示数据的字段的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| HideSelection | True:编辑组件有焦点时,文本选择的部分有视觉提示;False:即使编辑组件无焦点,文本选择的部分仍然有视觉反应 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| MaxLength | 利用该属性可限制用户输入的字符数,为0表示字符的长度没有限制 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以更改数据库备忘录的内容 |
| ScrollBars | 确定是否为多行文本编辑器添加水平或垂直的滚动条 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
| WantReturns | 确定用户是否可以在文本中插入返回字符 |
| WantTabs | 确定用户是否可以在文本中插入制表符 |
| WordWrap | 确定编辑组件是否插入软回车,以便文本在右边距处换行 |
# 5.1.1. DataField 属性
property DataField: String;
包含TDBMemo对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBMemo对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 5.2. 事件
- TDBMemo组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnChange | 编辑组件的文本可能已更改时触发该事件 |
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 5.3. 方法
- TDBMemo组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBMemo为目标调用操作 |
| LoadMemo | LoadMemo将文本BLOB从数据库中的字段加载到备忘录组件中 |
| UpdateAction | 更新操作以反映TDBMemo的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否应从右向左反转 |
# 6. TDBImage 组件
TDBImage表示来自数据集的当前记录的BLOB(二进制大对象)字段的图形图像。使用TDBImage表示图形字段的值。 TDBImage允许窗体显示数据集中的图形数据。
TDBImage可以允许用户使用剪贴板编辑图形数据。当应用程序运行且数据库图像组件具有焦点时,用户可以使用标准Windows快捷键(Ctrl+ X,Ctrl+C和Ctrl+V)进行剪切,复制和粘贴。用户可以通过按Esc返回到数据库图像组件的原始状态,然后再移动到另一个记录。
如果应用程序不需要TDBImage的数据感知功能,请使用图像组件(TImage)来节省系统资源。除数据感知功能外,TDBImage组件的使用方法与TImage相同。
# 6.1. 属性
- TDBImage组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 指定数据库映像链接到的TField组件 |
| Picture | 表示数据库图像组件上显示的图像 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoDisplay | 确定是否在数据库图像组件中自动显示图形BLOB的内容 |
| BorderStyle | 确定数据库图像组件是否具有边框 |
| Center | 确定图像是否在图像组件中居中 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 指定数据库图像显示数据的字段 |
| DataSource | 将图像组件链接到数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| Proportional | 指示是否应更改位图和元文件,而不是失真,以便它们适合数据库图像的边界 |
| QuickDraw | 指定是否使用调色板显示图像 |
| ReadOnly | 确定用户是否可以使用图像组件更改字段的内容 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| Stretch | 确定位图和元文件是否采用数据库图像的大小和形状 |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 6.1.1. DataField 属性
property DataField: String;
包含TDBImage对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBImage对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 6.2. 事件
- TDBImage组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 拖动对象结束时,通过停靠对象或取消拖动时触发该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 6.3. 方法
- TDBImage组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| CopyToClipboard | 将图像组件中的图片复制到剪贴板 |
| CutToClipboard | 删除组件中的图像并将其复制到剪贴板 |
| ExecuteAction | 响应以TDBImage作为目标执行的操作 |
| LoadPicture | 将存储在字段中的图像加载到数据库图像组件中 |
| PasteFromClipboard | 将剪贴板的内容复制到组件 |
| UpdateAction | 更新操作以反映TDBImage的当前状态 |
# 7. TDBListBox 组件
TDBListBox表示数据感知列表框,允许用户通过从列表中选择项来更改字段值。使用TDBListBox将列表框添加到允许用户将当前记录中的字段值更改为一组固定选项的窗体。
如果应用程序不需要TDBListBox的数据感知功能,请使用列表框(TListBox)来节省系统资源。除数据感知功能外,TDBListBox组件的使用方法与TListBox相同。
# 7.1. 属性
- TDBListBox组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 标识列表框链接到的TField对象 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoComplete | 确定用户是否可以通过在列表中键入来关注项目 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| BorderStyle | 确定列表框是否具有边框 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 标识列表框显示其值的字段 |
| DataSource | 将列表框链接到数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| IntegralHeight | 确定列表框是否显示部分项目 |
| ItemHeight | 指定所有者 - 绘制列表框中项目的高度(以像素为单位) |
| Items | 列出列表框中显示的字符串 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以使用列表框更改字段值 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| Style | 确定列表框是标准框还是所有者绘图以及它是否为虚拟列表框 |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 7.1.1. DataField 属性
property DataField: String;
包含TDBListBox对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBListBox对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 7.2. 事件
- TDBListBox组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnDrawItem | 在需要重新显示所有者 - 绘制列表框中的项目时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMeasureItem | 当应用程序需要在可变高度所有者 - 绘制列表框中重新显示项目时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 7.3. 方法
- TDBListBox组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBListBox作为目标调用动作 |
| UpdateAction | 更新操作以反映TDBListBox的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否为从右向左模式 |
# 8. TDBComboBox 组件
TDBComboBox表示数据感知复选框组件。使用TDBComboBox允许用户通过从列表中选择项目或在组件的编辑框部分中键入来更改数据集中当前记录的字段值。如果数据库组合框的ReadOnly属性为false,则所选项或输入的文本将成为该字段的新值。可以自定义组合框以启用或禁用在组件的编辑区域中键入,将列表显示为下拉列表或作为永久显示的列表,以对列表中的项目进行排序等。
# 8.1. 属性
- TDBComboBox组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 标识组合框表示其当前值的TField对象 |
| Text | 指定组合框的编辑部分中的值 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoComplete | 键入时匹配列表项的位置。 |
| AutoDropDown | 指定下拉列表是否会自动降低以响应用户击键 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| CharCase | 确定组合框中文本的大小写 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 标识组合框显示数据的字段 |
| DataSource | 将组合框链接到数据 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| DropDownCount | 指定下拉列表中显示的最大项目数 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| ItemHeight | 指定下拉列表中项目的高度(以像素为单位) |
| Items | 包含出现在数据库组合框列表中的字符串 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以更改字段的值 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| Sorted | 确定组合框的列表部分是否按字母顺序排列 |
| Style | 确定组合框如何显示其项目 |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 8.1.1. DataField 属性
property DataField: String;
包含TDBComboBox对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBComboBox对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 8.1.2. Items 属性
property Items: TStrings;
通过Items属性能够向TDBListBox中添加选项值,该属性是一个TStrings类型的对象。
FThis.DBComboBox1.Items.Add('中国');
FThis.DBComboBox1.Items.Add('美国');
2
# 8.2. 事件
- TDBComboBox组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnChange | 用户更改编辑区域中显示的文本时触发该事件 |
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnDrawItem | 在需要显示所有者绘制组合框中的项目时触发该事件 |
| OnDropDown | 用户打开下拉列表时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMeasureItem | 在需要重新显示csOwnerDrawVariable组合框中的项时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 8.3. 方法
- TDBComboBox组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBComboBox为目标调用动作 |
| UpdateAction | 更新动作以反映TDBComboBox的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否应从右向左反转 |
# 9. TDBCheckBox 组件
TDBCheckBox是一种数据感知组件,允许用户选择或取消选择单个值。使用TDBCheckBox在窗体上放置一个数据感知复选框。 复选框向用户显示选项; 用户可以选中该选项以选中该选项,或取消选中该选项以取消选择该选项。
数据库复选框(TDBCheckBox)与普通复选框(TCheckBox)非常相似,只是它知道数据集的特定字段中的数据。因为复选框只能表示两个值(已选中和未选中),因此数据库复选框最适合布尔字段。但是,它们可用于将任何字段的值分组为两组。
对于不需要TDBCheckBox的数据感知功能的应用程序,请改用TCheckBox来节省系统资源。除数据感知功能外,TDBCheckBox组件的使用方法与TCheckBox相同。
# 9.1. 属性
- TDBCheckBox组件主要属性
| 属性 | 功能说明 |
|---|---|
| Checked | 指定是否选中按钮组件 |
| Field | 表示复选框表示当前值的TField对象 |
| State | 指示是选中,取消选中还是灰显复选框 |
| Action | 指定与组件关联的操作 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Alignment | 控制复选框标题的位置 |
| AllowGrayed | 确定复选框是否可以处于“灰色”状态 |
| Anchors | 指定组件如何停放在父窗体中 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| Caption | 指定标识用户组件的文本字符串 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 标识数据感知组件显示数据的字段 |
| DataSource | 将复选框链接到数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以更改字段的值 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| ValueChecked | 指定与复选框的选中状态对应的字段值 |
| ValueUnchecked | 指定与复选框的未选中状态对应的字段值 |
| Visible | 确定组件是否可见 |
| WordWrap | 指定按钮文本是否换行以适合组件的宽度 |
# 9.1.1. DataField 属性
property DataField: String;
包含TDBCheckBox对象要使用的字段,可用复选框提供的字段名设置这个属性。 当使用TDBCheckBox对象访问数据集中的字段时,该数据集由TDataSource对象提供,这个对象可在该属性中指定。
设罝组件的DataField属性,首选要设罝该组件的DataSource属性,这是在对象观察器中设置的。
# 9.2. 事件
- TDBCheckBox组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 9.3. 方法
- TDBCheckBox组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBCheckBox为目标调用动作 |
| UpdateAction | 更新动作以反映TDBCheckBox的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否应从右向左反转 |
# 10. TDBRadioGroup 组件
TDBRadioGroup表示连接到数据库的一组单选按钮。使用TDBRadioGroup对一组数据感知单选按钮进行分组。直接包含在同一控制组件中的单选按钮被称为“分组”;选中单选按钮时,其组中的所有其他单选按钮都将取消选中。该组件提供了一种简单的方法来确保用户输入为字段提供的一个(或至多一个)选项。它们对于显示仅具有少量可能值的字段的数据也很有用。
要将单选按钮添加到TDBRadioGroup,请编辑Object Inspector中的Items属性。Items中的每个字符串都会在组框中显示一个单选按钮,并将字符串作为其标题。当用户选择单选按钮时,所选按钮的Value成为数据集中当前记录的链接字段的内容。通过编辑对象查看器中的Values属性指定按钮的值。Values中的第一个字符串对应于Items中的第一个字符串,依此类推。如果未设置Values字符串,则每个按钮的标题都会被用作其值。
# 10.1. 属性
- TDBRadioGroup组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 标识无线电组链接到的TField组件 |
| ItemIndex | 指示当前选择组中的哪个单选按钮 |
| Value | 保存数据库中当前记录的链接字段的内容 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| Caption | 指定标识用户组件的文本字符串 |
| Color | 指定组件的背景颜色 |
| Columns | 指定单选按钮组中的列数 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 指定无线电组显示数据的字段 |
| DataSource | 确定数据库无线电组获取要显示的数据的位置 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| Items | 列出单选按钮组中的单选按钮值 |
| ParentBackground | 确定组件是否使用父级的主题背景 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以在组中选择其他单选按钮,从而修改字段中的数据 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Values | 确定单选按钮的值 |
| Visible | 确定组件是否可见 |
# 10.2. 事件
- TDBRadioGroup组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnChange | 用户更改链接字段中的数据时触发该事件 |
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件。 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 10.3. 方法
- TDBRadioGroup组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBRadioGroup为目标调用动作 |
| UpdateAction | 更新动作以反映TDBRadioGroup的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否应从右向左反转 |
# 11. TDBLookupListBox 组件
TDBLookupListBox提供了一个查找项列表,用于填写需要来自另一个数据集的数据的字段。使用TDBLookupListBox为用户提供方便的查找项列表,以使用另一个数据集中的字段值设置字段值。查找列表框通常显示的值表示对实际字段值的更有意义的描述。
如果TDBLookupListBox链接到查找字段组件,它会自动从字段组件中读取字段值与查找数据集中的查找值之间的关系。当列表框未链接到查找字段组件时,还可以使用查找列表框的属性显式设置字段值与查找数据集中的对应值之间的关系。
# 11.1. 属性
- TDBLookupListBox组件主要属性
| 属性 | 功能说明 |
|---|---|
| KeyValue | 表示KeyField字段和DataField字段的公用值 |
| SelectedItem | 包含当前所选列表框中显示的值 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| BorderStyle | 确定查找列表框是否具有边框 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 标识其值由查找组件表示的字段 |
| DataSource | 将查找组件链接到包含DataField的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| KeyField | 标识ListSource数据集中必须与DataField字段的值匹配的字段 |
| ListField | 标识其值在查找组件中显示的字段 |
| ListFieldIndex | 指定ListField属性中的哪个字段用于增量搜索 |
| ListSource | 标识查找组件中显示的数据的数据源 |
| NullValueKey | 指定将空值分配给关联字段的组合键 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以使用查找组件来设置DataField字段的值 |
| RowCount | 指定列表框中可见的行数 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 11.2. 事件
- TDBLookupListBox组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 11.3. 方法
- TDBLookupListBox组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 执行针对数据库查找列表框的操作 |
| SetBounds | 一次设置窗口组件的边界属性 |
| UpdateAction | 更新操作组件以反映数据库查找列表框的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否应从右向左反转 |
# 12. TDBLookupComboBox 组件
TDBLookupComboBox表示为一个组合框,用于标识一个数据集中的一组字段值,其中包含来自另一个数据集的相应值集。使用TDBLookupComboBox为用户提供方便的查找项下拉列表,以填充需要来自其他数据集的数据的字段。
如果TDBLookupComboBox链接到查找字段组件,它会自动从字段组件中读取字段值与查找数据集中的查找值之间的关系。当组合框未链接到查找字段组件时,还可以使用查找组合框的属性显式设置字段值与查找数据集中的相应值之间的关系。
# 12.1. 属性
- TDBLookupComboBox组件主要属性
| 属性 | 功能说明 |
|---|---|
| KeyValue | 表示KeyField字段和DataField字段的公用值 |
| ListVisible | 指定查找列表是打开还是“下拉” |
| Text | 指示与当前记录上的字段值对应的查找值 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 标识其值由查找组件表示的字段 |
| DataSource | 将查找组件链接到包含DataField的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| DropDownAlign | 指定下拉列表相对于其编辑框的对齐方式 |
| DropDownRows | 指定TDBLookupComboBox下拉列表中显示的项目数 |
| DropDownWidth | 指定下拉列表的宽度(以像素为单位) |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| KeyField | 标识ListSource数据集中必须与DataField字段的值匹配的字段 |
| ListField | 标识其值在查找组件中显示的字段 |
| ListFieldIndex | 指定ListField属性中的哪个字段用于增量搜索 |
| ListSource | 标识查找组件中显示的数据的数据源 |
| NullValueKey | 指定将空值分配给关联字段的组合键 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以使用查找组件来设置DataField字段的值 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 12.2. 事件
- TDBLookupComboBox组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnCloseUp | 在打开或“下拉”列表关闭后立即触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnDropDown | 在打开查找列表之前立即触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 12.3. 方法
- TDBLookupComboBox组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| CloseUp | 关闭已打开或“下拉”的列表 |
| DropDown | 打开或“下拉”查找列表,以便用户可以选择查找值 |
| ExecuteAction | 以TDBLookupComboBox为目标调用动作 |
| SetBounds | 一次设置Left,Top,Width和Height属性 |
| UpdateAction | 更新动作以反映TDBLookupComboBox的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否为从右向左模式 |
# 13. TDBRichEdit 组件
TDBRichEdit表示多行编辑组件,可以显示和编辑数据集中的富文本备注字段。使用TDBRichEdit对象使用户能够在富文本编辑组件中编辑数据库字段。TDBRichEdit提供输入和使用富文本的属性和方法。TDBRichEdit不提供任何用户界面组件使用户可以使用这些格式选项。应用程序必须通过用户界面组件,以显示TDBRichEdit对象的富文本功能。,许多预定义的标准操作可在富文本编辑组件上运行,以执行常见的格式化任务。
TDBRichEdit使用Text属性来表示字段的内容。与其他数据感知组件一样,当更改Text属性的值时,TDBRichEdit组件会自动将数据源置于编辑模式。但是,如果仅更改文本的格式,而不更改文本本身,则应用程序必须明确地将数据源置于编辑模式,以便保存更改。这作为富文本功能的用户界面的一部分来实现。
如果数据库字段不包含文本的格式信息,请考虑使用TDBMemo对象或TDBEdit对象。如果应用程序不需要TDBRichEdit的数据感知功能,请使用富文本编辑组件(TRichEdit)来节省系统资源。除数据感知功能外,TDBRichEdit组件的使用方法与TDBRichEdit相同。
# 13.1. 属性
- TDBRichEdit组件主要属性
| 属性 | 功能说明 |
|---|---|
| Field | 指示富编辑组件表示的数据库字段的TField对象 |
| Align | 确定组件在其父组件区内的对齐方式 |
| Alignment | 确定文本在文本编辑组件中的对齐方式 |
| Anchors | 指定组件如何停放在父窗体中 |
| AutoDisplay | 确定是否在富编辑组件中自动显示备注字段的内容 |
| BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
| BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
| BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
| BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
| BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
| BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
| BorderStyle | 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
| DataField | 指定富编辑组件显示数据的字段 |
| DataSource | 将富编辑组件链接到包含其表示的字段的数据集 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| HideScrollBars | False:编辑组件内容改变时,可放置滚动条闪烁。ScrollBars属性设置为ssNone时,该属性不执行操作 |
| HideSelection | True:编辑组件有焦点时,文本选择的部分有视觉提示;False:即使编辑组件无焦点,文本选择的部分仍然有视觉反应 |
| ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
| ImeName | 设置该属性可配置IME名称 |
| MaxLength | 利用该属性可限制用户输入的字符数,为0表示字符的长度没有限制 |
| ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PlainText | True:忽略RTF文本中的信息编码。 False:将RTF文本中的格式信息编辑保存或流出到文件 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| ReadOnly | 确定用户是否可以使用富数据库编辑组件来更改当前记录中字段的值 |
| ScrollBars | 确定是否为多行文本编辑器添加水平或垂直的滚动条 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
| WantReturns | 确定用户是否可以在文本中插入返回字符 |
| WantTabs | 确定用户是否可以在文本中插入制表符 |
| WordWrap | 确定编辑组件是否插入软回车,以便文本在右边距处换行 |
# 13.2. 事件
- TDBRichEdit组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnChange | 编辑组件的文本可能已更改时触发该事件 |
| OnClick | 用户单击组件时触发该事件 |
| OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDock | 当对象的拖动结束后产生该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnProtectChang | 在用户尝试修改标记为受保护的文本时触发该事件 |
| OnResizeRequest | 当文本增长小于或大于组件的窗口大小时触发该事件 |
| OnSaveClipboard | 当编辑组件的窗口即将被销毁并且编辑组件将文本的渲染延迟复制到剪贴板时触发该事件 |
| OnSelectionChange | 当前选择更改时触发该事件 |
| OnStartDock | 当用户开始拖动组件时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 13.3. 方法
- TDBRichEdit组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| ExecuteAction | 以TDBRichEdit作为目标调用动作 |
| LoadMemo | LoadMemo将备忘录BLOB从数据库中的字段加载到富文本编辑组件中 |
| UpdateAction | 更新动作以反映TDBRichEdit的当前状态 |
| UseRightToLeftAlignment | 指定组件的对齐方式是否为从右向左模式 |
# 14. TDBCtrlGrid 组件
TDBCtrlGrid以自由格式布局显示数据源中的记录。将TDBCtrlGrid对象放在窗体上以显示和编辑数据库表或查询中的记录。与单行显示每条记录的TDBGrid对象不同,TDBCtrlGrid允许数据集中每条记录以自由格式进行布局。每条记录都显示在自己的面板中;在设计时设计一个面板,TDBCtrlGrid为显示的每个记录复制该面板。
在运行时,用户可以使用数据库导航器(TDBNavigator)来移动TDBCtrlGrid对象中的数据,以及插入,删除和编辑数据。在用户移动到其他记录或关闭应用程序之前,使用数据网格进行的编辑修改不会发布到目标数据集。
# 14.1. 属性
- TDBCtrlGrid组件主要属性
| 属性 | 功能说明 |
|---|---|
| Canvas | 指示用于绘制TDBCtrlGridObject的绘图表面 |
| EditMode | 确定TDBCtrlGrid是否可用于插入,删除或编辑记录 |
| PanelCount | 指定网格中可见的记录数 |
| PanelIndex | 指定网格中代表当前记录的面板的索引 |
| Align | 确定组件在其父组件区内的对齐方式 |
| AllowDelete | 确定用户是否可以通过按Ctrl+Delete从数据集中删除当前记录 |
| AllowInsert | 确定用户是使用Insert键插入新记录还是使用Ctrl+Insert组合键附加新记录 |
| Anchors | 指定组件如何停放在父窗体中 |
| ColCount | 指定网格中显示的面板列数 |
| Color | 指定组件的背景颜色 |
| Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
| DataSource | 标识TDBCtrlGrid对象查找其数据的数据集的链接 |
| DragCursor | 当前组件受拖动时光标的形状 |
| DragMode | 控制用户何时可拖动组件 |
| Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
| Font | 确定组件内显示的文本字体 |
| Orientation | 确定数据集中的记录在TDBCtrlGrid中的显示顺序 |
| PanelBorder | 确定是否使用围绕它的凸起边框绘制每个面板 |
| PanelHeight | 指定每个面板的高度(以像素为单位) |
| PanelWidth | 指定每个面板的宽度(以像素为单位) |
| ParentColor | 组件要使用与其父组件相同的颜色 |
| ParentFont | 确定组件是否使用父组件的Font |
| ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
| PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
| RowCount | 指定网格中显示的面板行数 |
| SelectedColor | 指定面板的背景颜色,该颜色代表数据集中的当前记录 |
| ShowFocus | 指示当TDBCtrlGrid具有输入焦点时是否在当前记录周围绘制焦点矩形 |
| ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
| TabOrder | 确定父组件的切换顺序 |
| TabStop | 使用该属性可允许或不允许用Tab访问组件 |
| Visible | 确定组件是否可见 |
# 14.2. 事件
- TDBCtrlGrid组件主要事件列表
| 事件 | 何时触发 |
|---|---|
| OnClick | 用户单击组件时触发该事件 |
| OnDblClick | 当鼠标指针悬停在组件上时,用户双击鼠标左键时触发该事件 |
| OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
| OnDragOver | 当用户在组件上拖动对象时触发该事件 |
| OnEndDrag | 当对象的拖动结束后产生该事件 |
| OnEnter | 在组件接收输入焦点时触发该事件 |
| OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
| OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
| OnKeyPress | 按下某个键时触发该事件 |
| OnKeyUp | 用户释放已按下的键时触发该事件 |
| OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
| OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
| OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
| OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
| OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
| OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
| OnPaintPanel | 当TDBCtrlGrid需要在网格中绘制面板时触发该事件 |
| OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 14.3. 方法
- TDBRichEdit组件主要方法列表
| 方法 | 功能描述 |
|---|---|
| DoKey | 实现对许多标准击键的响应 |
| ExecuteAction | 以DB控制网格为目标执行操作 |
| GetChildren | 为组件的每个子项调用指定的方法 |
| GetTabOrderList | 覆盖默认设置以从Tab键顺序中删除所有子组件 |
| KeyDown | 按下某个键时执行特殊处理 |
| SetBounds | 一次设置窗口组件的边界属性 |
| UpdateAction | 更新操作以反映网格的当前状态 |
# 14.3.1. Dokey 方法
调用DoKey以执行Key参数指定的操作。例如,使用DoKey重新映射OnKeyDown事件处理程序中的击键。
为不同的Key值执行的操作如下表所示:
| 值 | 动作 |
|---|---|
| gkNull | 不做任何动作 |
| gkEditMode | 切换EditMode属性 |
| gkPriorTab | 移至上一个面板 |
| gkNextTab | 转到下一个面板 |
| gkLeft | 将一个面板向左移动 |
| gkRight | 将一个面板向右移动 |
| gkUp | 向上移动一个面板 |
| gkDown | 向下移动一个面板 |
| gkScrollUp | 向上移动一个面板 |
| gkScrollDown | 向下移动一个面板 |
| gkPageUp | 将ColCount * RowCount记录在数据集中 |
| gkPageDown | 将ColCount * RowCount记录向下移动到数据集中 |
| gkHome | 移动到数据集中的第一条记录 |
| gkEnd | 移至数据集中的最后一条记录 |
| gkInsert | 在数据集中的当前记录之前插入新记录,并将EditMode设置为true |
| gkAppend | 在数据集的末尾插入新记录,并将EditMode设置为true |
| gkDelete | 从数据集中删除当前记录并将EditMode设置为false |
| gkCancel | 取消未写入数据集的任何编辑,并将EditMode设置为false |