爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • Smart帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

      • 公共属性
      • 公共方法
      • 公共事件
      • 窗口控件
      • 系统控件
      • 标准控件
        • 1. TMainMenu组件
          • 1.1. 属性
          • 1.2. 事件
          • 1.3. 方法
        • 2. TPopupMenu组件
          • 2.1. 属性
          • 2.2. 事件
          • 2.3. 方法
        • 3. TLabel组件
          • 3.1. 属性
          • 3.1.1. Alignment 属性
          • 3.1.2. AutoSize 属性
          • 3.1.3. FocusControl 属性
          • 3.1.4. Layout 属性
          • 3.1.5. ShowAccelChar 属性
          • 3.1.6. Transparent 属性
          • 3.1.7. Wordwrap 属性
          • 3.1.8. Caption 属性
          • 3.2. 事件
          • 3.2.1. OnMouseEnter 事件
          • 3.2.2. OnMouseLeave 事件
        • 4. TEdit组件
          • 4.1. 属性
          • 4.1.1. AutoSelect 属性
          • 4.1.2. BorderStyle 属性
          • 4.1.3. CanUndo 属性
          • 4.1.4. CharCase 属性
          • 4.1.5. HideSelection 属性
          • 4.1.6. MaxLength 属性
          • 4.1.7. Modified 属性
          • 4.1.8. OEMConvert 属性
          • 4.1.9. PasswordChar 属性
          • 4.1.10. Readonly 属性
          • 4.1.11. SelLength 属性
          • 4.1.12. SelStart 属性
          • 4.1.13. SelText属性
          • 4.1.14. Text 属性
          • 4.2. 事件
          • 4.3. 方法
          • 4.3.1. Clear 方法*
          • 4.3.2. ClearSelcction 方法*
          • 4.3.3. ClearUndo 方法*
        • 5. TMemo组件
          • 5.1. 属性
          • 5.1.1. Alignment 属性
          • 5.1.2. CaretPos 属性
          • 5.1.3. Lines 属性
          • 5.1.4. ScrollBars 属性
          • 5.1.5. WantReturns 属性
          • 5.1.6. WantTabs 属性
          • 5.1.7. Wordwrap 属性
          • 5.1.8. CanUndo 属性
          • 5.1.9. HideSelection 属性
          • 5.1.10. MaxLength 属性
          • 5.1.11. Modified 属性
          • 5.2. 事件
          • 5.3. 方法
        • 6. TButton组件
          • 6.1. 属性
          • 6.1.1. Cancel 属性
          • 6.1.2. Default 属性
          • 6.1.3. Caption 属性
          • 6.1.4. Wordwrap 属性
          • 6.2. 事件
          • 6.2.1. OnClick 事件
        • 7. TCheckBox组件
          • 7.1. 属性
          • 7.1.1. Alignment 属性
          • 7.1.2. AllowGrayed 属性
          • 7.1.3. Checked 属性
          • 7.1.4. State 属性
        • 8. TRadioButton组件
          • 8.1. 属性
          • 8.1.1. Alignment 属性
          • 8.1.2. Checked 属性
          • 8.2. 方法
        • 9. TListBox组件
          • 9.1. 属性
          • 9.1.1. AutoComplete 属性
          • 9.1.2. BorderStyle 属性
          • 9.1.3. Columns 属性
          • 9.1.4. Count 属性
          • 9.1.5. ExtendedSelect 属性
          • 9.1.6. IntegralHeight 属性
          • 9.1.7. ItemHeight 属性
          • 9.1.8. Itemlndex 属性
          • 9.1.9. Items 属性
          • 9.1.10. MultiSelect 属性
          • 9.1.11. ScrollWidth 属性
          • 9.1.12. SelCount 属性
          • 9.1.13. Selected 属性
          • 9.1.14. Sorted 属性
          • 9.1.15. Style 属性
          • 9.1.16. TabWidth 属性
          • 9.1.17. Toplndex 属性
          • 9.2. 事件
          • 9.2.1. OnData 事件
          • 9.3. 方法
          • 9.3.1. AddItem 方法
          • 9.3.2. Clear 方法
          • 9.3.3. ClearSelection 方法
          • 9.3.4. ItemAtPos 方法
          • 9.3.5. DeleteSelected 方法
          • 9.3.6. SelectAll 方法
          • 9.3.7. MoveSelection 方法
        • 10. TComboBox 组件
          • 10.1. 属性
          • 10.1.1. AutoCloseUp 属性
          • 10.1.2. AutoComplete 属性
          • 10.1.3. AutoDropDown 属性
          • 10.1.4. CharCase 属性
          • 10.1.5. SelText 属性
          • 10.1.6. Sorted 属性
          • 10.1.7. Style 属性
          • 10.1.8. DropDownCount 属性
          • 10.1.9. DroppedDown 属性
          • 10.1.10. Itemlndex 属性
          • 10.1.11. Items 属性
          • 10.1.12. MaxLength 属性
          • 10.1.13. SelLength 属性
          • 10.2. 事件
          • 10.3. 方法
          • 10.3.1. AddItem 方法
          • 10.3.2. Clear 方法
          • 10.3.3. ClearSelection 方法
          • 10.3.4. CopySelection 方法
          • 10.3.5. DcleteSelected 方法
          • 10.3.6. Focused 方法
          • 10.3.7. MoveSelection 方法
        • 11. TImageComboBox 组件
          • 11.1. 属性
          • 11.2. 方法
          • 11.2.1. FillSQL
        • 12. TScrollBar组件
          • 12.1. 属性
          • 12.2. 事件
          • 12.3. 方法
        • 13. TGroupBox 组件
          • 13.1. 属性
        • 14. TRadioGroup 组件
          • 14.1. 属性
        • 15. TPanel 组件
          • 15.1. 属性
        • 16. TActionList 组件
          • 16.1. 属性
          • 16.2. 事件
        • 17. TBarCode 组件
          • 17.1. 属性
        • 18. TWebBrowser 组件
          • 18.1. 方法
          • 18.1.1. Navigate 方法
        • 19. TIdHTTPServer 组件
          • 19.1. 属性
          • 19.2. 事件
        • 20. TIdTCPClient 组件
          • 20.1. 属性
          • 20.2. 方法
        • 21. TIdTCPServer 组件
          • 21.1. 属性
          • 21.1.1. 事件
        • 22. TFlying 组件
          • 22.1. 属性
          • 22.1.1. HTTPOptions
          • 22.1.2. MailOptions
          • 22.1.3. MQTTOptions
          • 22.1.4. PrintOptions
          • 22.1.5. WebSocketOptions
          • 22.2. 事件
          • 22.2.1. OnReceivedError事件
          • 22.2.2. OnReceivedExport事件
          • 22.2.3. OnReceviedPrinter事件
          • 22.3. 方法
          • 22.3.1. GetPrinterList 方法
          • 22.3.2. ReportPrint方法
          • 22.3.3. ReportPreview方法
          • 22.3.4. PrintPdf方法
          • 22.3.5. PrintPic方法
        • 23. TPDFViewer 组件
          • 23.1. 方法
          • 23.1.1. LoadFromFile 方法
        • 24. TSwitchButton组件
          • 24.1. 属性(Properties)
          • 24.1.1. IsChecked属性
          • 24.1.2. Bitmap属性
          • 24.1.3. SwitchOffBmp属性
          • 24.1.4. SwitchOffBmp属性
          • 24.2. 事件(Events)
          • 24.2.1. OnSwitch事件
          • 24.3. 示例(Code)
      • 对话框控件
      • 标准工控控件
      • 专业工控控件
      • 数据控制控件
      • 数据表格控件
      • 数据感知控件
      • 通讯控制控件
      • 仪表采集控件
      • 监控视频控件
      • 数据图表控件
      • 流程图表控件
      • 数据分析控件
      • 复合数控控件
      • 模拟数控控件
      • 调节数控控件
      • 数位数控控件
      • 数据数控控件
      • 地图控件
      • 其他控件
      • SVG控件
      • IsoBean控件
      • 样式控件
      • 样式外观控件
      • 样式高级控件
      • 样式工具控件
      • 样式数据控件
      • 样式控件GP
      • 样式数据控件GP
    • 功能用法

    • 专用模板

    • 开发流程

    • 函数程序

  • 开发手册

目录

标准控件

# Smart 控件使用(标准)

  标准控件盘中包含经常会使用到的标准Windows控件。可配合显示标准的Windows程序界面。

# 1. TMainMenu组件

  TMainMenu为窗体提供主菜单。要开始设计菜单,请在窗体中添加主菜单,然后双击该组件。   TMainMenu引入了用于将主菜单的下拉菜单与另一个窗体的主菜单合并的属性和方法。   TMainMenu引入了用于辅助OLE容器的菜单协商过程的属性和方法。   提示:要创建用户可以在运行时配置的菜单,请将TActionMainMenuBar组件与操作管理器一起使用。

# 1.1. 属性

  • TMainMenu组件主要属性
属性 功能说明
AutoHotkeys 确定是否可以自动重置菜单项的快捷键
AutoLineReduction 确定是否从菜单中自动删除冗余的分隔条
AutoMerge 确定辅助窗体的主菜单是否在运行时与非MDI应用程序中的主窗体的主菜单合并
BiDiMode 确定中东语言环境中菜单的布局
Images 列出可以出现在各个菜单项旁边的图像
OwnerDraw 指定应用程序是否绘制菜单项
ParentBiDiMode 指示BiDiMode属性是否从使用该菜单的组件继承

# 1.2. 事件

  • TMainMenu组件事件列表
事件 何时触发
OnChange 在菜单更改时,触发该事件

# 1.3. 方法

  • TMainMenu组件主要方法列表
方法 功能描述
GetOle2AcceleratorTable 返回主菜单的快捷键对应表
Merge 将一个窗体的主菜单与另一个窗体的主菜单组合在非MDI应用程序中
PopulateOle2Menu 使用主菜单中的项目填充OLE菜单
SetOle2MenuHandle 将OLE菜单的句柄与主菜单相关联
Unmerge 反转非MDI应用程序中两个菜单的合并操作

# 2. TPopupMenu组件

  TPopupMenu使用户使用鼠标右键单击组件时显示的弹出菜单。要使弹出菜单可用,请将TPopupMenu对象分配给组件的PopupMenu属性。   提示:要创建用户可以在运行时配置的弹出菜单,请将TStandardMenuPopup组件与操作管理器一起使用。   注意:如果弹出菜单的ParentBiDiMode为true,则弹出菜单的BiDiMode设置为激活它的组件的BiDiMode。如果找不到组件,BiDiMode将设置为Application对象的BiDiMode的值。弹出菜单的BiDiMode会影响其所有菜单项。

# 2.1. 属性

  • TPopupMenu组件主要属性
属性 功能说明
PopupComponent 指示上次显示弹出菜单以响应鼠标右键单击的组件
PopupPoint 指示弹出菜单显示的位置
Alignment 确定用户单击鼠标右键时弹出菜单的显示位置
AutoHotkeys 确定是否可以自动重置菜单项的快捷键
AutoLineReduction 确定是否从菜单中自动删除冗余分隔条
AutoPopup 确定当用户单击鼠标右键时是否自动显示弹出菜单
BiDiMode 确定中东语言环境中菜单的布局
HelpContext 指定整个弹出菜单的上下文ID
Images 列出可以出现在各个菜单项旁边的图像
MenuAnimation 指定首次显示菜单时的显示方式
OwnerDraw 指定应用程序是否绘制菜单项
ParentBiDiMode 指示BiDiMode属性是否从使用该菜单的组件继承
TrackButton 指定当与工具栏按钮关联时,哪个鼠标按钮激活弹出菜单

# 2.2. 事件

  • TPopupMenu组件事件列表
事件 何时触发
OnChange 在菜单更改时,触发该事件
OnPopup 在弹出菜单出现之前,触发该事件

# 2.3. 方法

  • TPopupMenu组件主要方法列表
方法 功能描述
Popup 在屏幕上显示弹出菜单
{此示例使用弹出菜单。当用户按下鼠标按钮时,弹出菜单出现在用户点击鼠标所在的位置:}
procedure TForm1.FormCreate(Sender:TObject);
begin
    FThis.PopupMenu1.AutoPopup:=False;
end;

procedure TForm1.FormMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
    FThis.PopupMenu1.Popup(Left+X,Top+Y);
end;
1
2
3
4
5
6
7
8
9
10

# 3. TLabel组件

  使用TLabel可添加用户无法编辑到窗体的文本。此文本可用于标记另一个组件,并可在用户键入快捷键时将焦点设置为该组件。   因为TLabel不是TWinControl的子类,所以它没有自己的窗口,也无法从键盘接收直接输入。要将对象添加到可以响应键盘输入的窗体(除了在键入快捷键时将焦点设置为另一个对象),还可以使用TStaticText。   要将对象添加到显示用户可以滚动或编辑的文本的窗体,请使用TEdit。

# 3.1. 属性

  • TLabel组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Alignment 控制文本在标签中的水平放置
Anchors 指定组件如何停放在父窗体中
AutoSize 确定标签的大小是否自动调整大小以容纳文本
BiDiMode 指定组件的方向模式
Caption 指定标识用户组件的文本字符串
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
EllipsisPosition 指定如何在文本中放置省略号以使其适合分配的矩形
Enabled 控制组件是否响应鼠标,键盘和计时器事件
FocusControl 指定与标签关联的窗口组件
Font 确定组件内显示的文本字体
GlowSize 指定标签周围发光的半径
Layout 指定文本在标签中的垂直位置
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowAccelChar 确定标签文本中的&符号的显示方式
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
Transparent 指定是否可以通过标签查看位于窗体上标签下方的组件
Visible 确定组件是否可见
WordWrap 指定标签文本在标签宽度过长时是否换行

# 3.1.1. Alignment 属性

property Alignment: TAlignment;
1

  设置该属性可以指定标签文本在ClientRect区域内如何排列。如果Wordwrap属性为True, 而且标签中包含多于一行的文本时,则这个属性的效果将更加明显。   Alignment属性的可选值如下。

  • taLeftJustify:输入的文本在组件的左边对齐。
  • taCenter:输入的文本在组件的中间对齐。
  • taRightJustify:输入的文本在组件的石边对齐。

# 3.1.2. AutoSize 属性

property AutoSize: Boolean;
1

  使用该属性可自动调整标签的大小,使客户区容纳文本的高和宽。,设罝该属性为False 时,标签大小同定;否则标签大小将随文本内容和字体属性的改变而改变。   当Wordwrap属性为True时,标签宽度固定,此时如果该属性也为True,则改变文本仅使标签的高度发生改变;如果该属性为True, Wordwrap为False,则标签高度由字体决定,文本变化将使标签宽度变化。

# 3.1.3. FocusControl 属性

property FocusControl: TWinControl;
1

  设罝该属性可使组件为当用户按下标签中指定的快捷键时接收焦点的窗口类组件。指定一 个快捷键时,要在标签文本前添加一个&符号,并将ShowAccelChar属性设置为True。

  • 应用
      FocusControl属性用于设罝标签组件与窗体上其他没有标题的组件相关联,关联后可以通过键盘上的加速键使这些组件获得输入焦点。
begin
   FThis.Button2.SetFocus; //初始化时将焦点置于Button2上。
   FThis.Label2.ShowAccelChar := True;
   FThis.Label2.Caption := '在当前界面下,按下&A按键,Button1获得焦点';
   FThis.Label2.FocusControl := This.Button1;
end.
1
2
3
4
5
6
获取焦点

# 3.1.4. Layout 属性

property Layout: TTextLayout;
1

  该属性用于指定标签组件的ClientRect内的文本显示位置,Layout属性的可选值如下。

  • tlTop:顶部对齐。
  • tlBottom:底部对齐。
  • tICenter:居中对齐。

# 3.1.5. ShowAccelChar 属性

property ShowAccelChar: Boolean;
1

  设置该属性为True时,允许任意字符前添加&记号将出现下划线。如果要显示一个&号, 可连续使用两个&&号。如果设置了FocusControl属性,则当用户输入下划线字符时,窗口焦点将指向FocusControl属性指定的有窗体的组件,设置该属性为False时,在标签中只显示标签名称,而且FocusControl属性值无效。

  • 应用
      ShowAccelChar属性用于设置是否显示标签文本中的记号名称。
begin
  This.Label1.ShowAccelChar := True;
  This.Label1.Caption := 'An &Underlined character appears here';
  This.Label2.ShowAccelChar := False;
  This.Label2.Caption := 'An ampersand (&) appears here';
end.
1
2
3
4
5
6
显示效果

# 3.1.6. Transparent 属性

property Transparent: Boolean;
1

  设置该属性为True时,可透过标签组件看到其下的组件,例如在一幅图像上添加文本时, 可使用这个属性将其设为透明显示,这样文本框的显示就会是透明的。

# 3.1.7. Wordwrap 属性

property Wordwrap: Boolean;
1

  设置该属性为True时,允许标签组件显示多行文本;为False时可以限制标签文本为单行显示,超长文本将被截掉。

begin
   This.Label1.WordWrap := True; 
   This.Label1.Caption := '愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者流的话。能做事的做事,'
   + '能发声的发声。有一分热,发一分光。就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。';
   This.Label2.WordWrap := False;
   This.Label2.Caption := '愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者流的话。能做事的做事,'
   + '能发声的发声。有一分热,发一分光。就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。';
end.
1
2
3
4
5
6
7
8

# 3.1.8. Caption 属性

property Caption: TCaption:
1

  使用该属性可指定标注组件的文本字符串。在字符前包括一个与(&)符号可使一个标注组件的该属性中该字符以下划线方式显示。这种类型的字符称为“加速符”,用户按住Alt键的同时按下划线字符即可选取该组件。使用双与号(&&)可在标题中显示一个&符号。

# 3.2. 事件

  • TLabel组件主要事件
事 件 描 述
OnContextPopup 与用户右击组件或用其他方式(键盘)调用弹出菜单时产生该组 件,编辑其事件处理程序可在响应用户行为中创建或显示组件的弹出菜单。该事件允许应用程序集中响应用户的各种行为
OnEndDock 与对象的拖动结束后产生该事件,使用这个事件的处理程序可指定行为
OnEndDrag 与对象的拖动结束后产生该事件,使用这个事件的处理程序可指定行为
OnMouseEnter 与光标指针移动到标签上时,触发该事件,编辑其斑件处理程序可以在鼠标移动到标签上时执行其特定的操作
OnMouseLeave 与光标指针离开标签时,触发该事件,编辑其事件处理程序可以在鼠标光标离开标签时执行其特定的操作
OnStartDock 当用户开始拖动组件时产生该事件

# 3.2.1. OnMouseEnter 事件

type TNotifyEvent = procedure (Sender: Tobject) of object; 
property OnMouseEnter: TnotifyEvent;
1
2

  当光标指针移动到标签上时,触发该事件,编写其事件处理程序可以在鼠标移动到标签上时执行其特定的操作。

# 3.2.2. OnMouseLeave 事件

type TNotifyEvent = procedure (Sender: TObject) of object; 
property OnMouseLeave: TNotifyEvent;
1
2

  当光标指针离开标签时,触发该事件,编写其事件处理程序可以在鼠标光标离开标签时执行其特定的操作。

  • 应用
      当鼠标移到至标签上时,标签变红色,当鼠标从标签上移开时,标签恢复黑色。
procedure TMyHandler.LABEL2MOUSEENTER;
//鼠标移动至此处时触发该事件
begin
  if Sender is TLabel then
    TLabel(Sender).Font.Color := clRed;
end;

procedure TMyHandler.LABEL2MOUSELEAVE;
//鼠标离开时触发该事件
begin
  if Sender is TLabel then
    TLabel(Sender).Font.Color := clBlack;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
鼠标移到标签上时变红色

# 4. TEdit组件

  使用TEdit对象将标准Windows编辑组件放在窗体上。编辑组件用于检索用户键入的文本。编辑组件还可以向用户显示文本。   仅向用户显示文本时,选择编辑组件以允许用户选择文本并将其复制到剪贴板。如果不需要编辑组件的选择功能,请选择标签对象(TLabel)。   TEdit实现了TCustomEdit中引入的泛型行为。TEdit发布了许多从TCustomEdit继承的属性,但没有引入任何新行为。对于专门的编辑组件,请使用TCustomEdit的其他后代类或从中派生。

# 4.1. 属性

  • TEdit组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Alignment 确定文本在文本编辑组件中的对齐方式
Anchors 指定组件如何停放在父窗体中
AutoSelect 确定组件获得焦点时是否自动选择编辑组件中的所有文本
AutoSize 确定编辑组件的高度是否自动调整大小以容纳文本
BevelEdges 使用该属性可获得或设置组件成斜角的边缘
BevelInner 使用该属性可指定内斜角是否具有凸、凹或平坦的外观
BevelKind 使用该属性可修改斜角的风格,即斜角的倾斜程度
BevelOuter 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面
BevelWidth 使用该属性可指定内外斜角的像素宽度
BiDiMode 指定组件的方向模式
BorderStyle 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框
CharCase 确定编辑组件中文本的大小写
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
HideSelection True:编辑组件有焦点时,文本选择的部分有视觉提示;False:即使编辑组件无焦点,文本选择的部分仍然有视觉反应
ImeMode 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器
ImeName 设置该属性可配置IME名称
Lines 使用该方法可操作编辑组件中的单行文本
MaxLength 利用该属性可限制用户输入的字符数,为0表示字符的长度没有限制
NumbersOnly 仅允许在文本编辑中键入数字
OEMConvert 确定在编辑组件中键入的字符是否从ANSI转换为OEM,然后再转换回ANSI
Paragraph 读取该属性可获得编辑组件中指定的段落格式信息
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PasswordChar 指示要显示的字符(如果有),以代替在组件中键入的实际字符
PlainText True:忽略RTF文本中的信息编码。False:将RTF文本中的格式信息编辑保存或流出到文件
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ReadOnly 确定用户是否可以更改编辑组件的文本
ScrollBars 确定是否为多行文本编辑器添加水平或垂直的滚动条
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
Text 包含与组件关联的文本字符串
TextHint Text属性为空时显示的提示或消息
Visible 确定组件是否可见
Ctl3D 确定组件在其父组件区内的对齐方式
DoubleBuffered 确定文本在文本编辑组件中的对齐方式
DragCursor 指定组件如何停放在父窗体中
DragKind 确定组件获得焦点时是否自动选择编辑组件中的所有文本
DragMode 确定编辑组件的高度是否自动调整大小以容纳文本
Enabled 使用该属性可获得或设置组件成斜角的边缘
Fon 使用该属性可指定内斜角是否具有凸、凹或平坦的外观
HideSelection 使用该属性可修改斜角的风格,即斜角的倾斜程度
ImeMode 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面
ImeName 使用该属性可指定内外斜角的像素宽度
MaxLength 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
NumbersOnly 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框
OEMConvert 确定编辑组件中文本的大小写
ParentBiDiMode 指定组件的背景颜色
ParentColor 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制

# 4.1.1. AutoSelect 属性

property AutoSelect: Boolean;
1

  设置该属性可以在编辑组件获得焦点时选中编辑组件中的所有文本。该属性只能在单行编辑组件中应用。,用户替代编辑组件中的文本比添加的可能性大时,使用该属性。

  • True:当TEdit组件获得输入焦点时,选中所有的文本。

  • False:当TEdit组件获得输入焦点时,不选中所有的文本。

  • 应用
      使用AutoSelect属性能够确定在编辑框获得焦点时是否选中文本。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.Edit1.AutoSelect := True;
  FThis.Edit2.AutoSelect := False;
end;

{方法实现  MODULE-REAL}
procedure TMyHandler.BUTTON1CLICK;
//点击Button1,Edit1获得焦点
begin
  FThis.Edit1.SetFocus;
end;

procedure TMyHandler.BUTTON2CLICK;
//点击Button2,Edit2获得焦点
begin
  FThis.Button2.SetFocus;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
获取焦点

# 4.1.2. BorderStyle 属性

property BorderStyle: TBorderStyle;
1

  使用该属性可影响编辑组件的客户区域突出效果,当其取值为bsSingle,则编辑组件的客户区域会有一个单线边框;为bsNone,则无边框。

# 4.1.3. CanUndo 属性

property CanUndo: Boolean;
1

  读取该属性可确定用户修改文本后是否通过调用Undo方法回退,在允许或禁止对应于这些命令的菜单项时这个属性非常有用。   示例:

begin
    if This.Edit1.CanUndo then 
    This.Edit1.Undo;
end.
1
2
3
4

# 4.1.4. CharCase 属性

property CharCase: TEditCharCase;
1

  该属性用于确定编辑组件中文本的大小写,可将编辑组件中的内容强制为特定的大小写。   可取值如下:

  • ecNormal:输入的文本不进行大小写转换。

  • ecLowerCase:把输入的文本强制转换为小写。

  • ecUpperCase:把输入的文本强制转换为大写。

  • 应用
      CharCase属性用于设置是否对Edit中的文本进行大小写转换。

procedure TMyHandler.BUTTON1CLICK;
//点击将文本转换为大写
begin
  FThis.Edit1.CharCase := ecUpperCase;
end;

procedure TMyHandler.BUTTON2CLICK;
//点击将文本转换为小写
begin
  FThis.Edit2.CharCase := ecLowerCase;
end;
1
2
3
4
5
6
7
8
9
10
11
转换大小写

# 4.1.5. HideSelection 属性

property HideSelection: Boolean;
1

  该属性用于确定当焦点移走后所选文本是否保留视觉提示。设罝为False,编辑组件没有焦点时,所选文本部分仍保留视觉提示;否则只有在编辑组件获得焦点时,所选文本部分才保留视觉提示。该属性不影响选择的实际值,只是视觉提示。

  • 应用
      HideSelection属性用于确定当输入焦点离开时,是否仍然高亮显示选中的文本。
begin
   This.Edit1.AutoSelect := True;
   This.Edit1.HideSelection := False;
   This.Edit1.SetFocus;
end.
1
2
3
4
5
高亮显示输入焦点

# 4.1.6. MaxLength 属性

property MaxLength: Integer;
1

  利用该属性可限制用户输入的字符数,为0表示字符的长度没有用户定义的限制。如果要将编辑组件中的文本复制到固定长度的缓冲区时,可用该属性限制编辑组件中的文本长度。   设置该属性并不截断已存在的文本,而仅在输入达到界限后阻止用户输入更多的文本。   示例

 This.Edit1.MaxLength := 5
1

  Edit1中最多允许存在5个字符,达到5个字符后将无法继续输入。

# 4.1.7. Modified 属性

property Modified: Boolean;
1

  使用该属性确定编辑组件中的Text属性是否可修改。如果在应用程序中直接修改编辑组件中的Text属性,则应将这个属性设置为True。

  • 应用
      在程序中使用该属性能够确定编辑框文本是否发生了变化。
procedure TMyHandler.BUTTON1CLICK;
//检测Edit1是否有改动
begin
   if FThis.Edit1.Modified then
     ShowMessage('Edit1中内容已经改变');
end;
1
2
3
4
5
6

# 4.1.8. OEMConvert 属性

property OEMConvert: Boolean;
1

  该属性用于确定输入编辑组件中的字符是否从ANSI转换为OEM,然后转换为ANSI。要保证编辑组件中输入的字符转换为OEM字符集,设置其为True,则使所有字符从ANSI转换为OEM,然后转为输入时的ANSI。如果不需要将文本映射到一个OEM字符串,则设置为False可避免转换的开销。该属性大多用在应用程序不用Unicode文件名时在编辑组件中输入文件名。

  • True:文本框Edit中的文本能从ANSI转换为OEM。
  • False:文本框Edit中的文本不能从ANSI转换为OEM

# 4.1.9. PasswordChar 属性

property PasswordChar: Char;
1

  利用该属性可建立编辑组件中用代替输入字符显示的特殊字符。如果为空字符(ANSI字符为0),则编辑组件显示正常文本;如果为其他字符,则显示PasswordChar代替输入的字符。 该属性只影响编辑组件的外观,Text属性的值代表输入的实际值。

  • 应用
begin
  This.Edit1.PasswordChar := '*';
end.
1
2
3
设定后,输入的字符以*显示

# 4.1.10. Readonly 属性

property Readonly: Boolean;
1

  该属性用于确定用户是否可改变编辑组件中的文本,为True时,则限制编辑组件只能显示, 确保组件中的文本不被修改,但允许用户选择文本,应用程序可处理所选文本,也可复制到剪 贴板;为False时,则允许编辑组件中的内容。

  • 应用
begin
  This.Edit1.ReadOnly := True;
  This.Edit2.ReadOnly := False;
end.
1
2
3
4

# 4.1.11. SelLength 属性

property SelLength: Integer;
1

  该属性用于指定所选文本的字符长度,设置后可改变从SelStart开始前的SelLength字符的选择。设罝其值大于从SelStart开始到文本结束的字符数,导致全选从SelStart开始到文本结束的字符。此时读取该属性返回实际所选取的字符数,而不是设置的值。

  • 应用
    SelLength属性用于返回在文本框TEdit中选中字符的长度,这样,在程序中就能通过代码使编辑框中的文本部分被选中。
procedure TMyHandler.BUTTON1CLICK;
//点击以选中部分文字
begin
  FThis.Edit1.AutoSelect := True;
  FThis.Edit1.SetFocus;
  FThis.Edit1.SelStart := 1; //设定开始选中的起始位置
  FThis.Edit1.SelLength := Length(FThis.Edit1.Text); //设定被选中区域的长度,延申至字符串尾。
end;
1
2
3
4
5
6
7
8
部分文字被选中

# 4.1.12. SelStart 属性

property SelStart: Integer;
1

  读取该属性的值可确定第1个被选字符的位置,0指向第1个字符。如果没有所选文本, 则该属性指向光标的位置。设罝这个属性删除当前的选择并将光标位罝指向字符的前面。用法详见SelLength 属性。

# 4.1.13. SelText属性

property SelText: string;
1

  读取该属性可确定被选文本的值,设置该属性可用新的字符牢替换已选文本。如果没有选择,但是编辑组件有焦点,则设置该属性可向光标处插入新的字符串。

  • 应用

  在SelLength 属性的例子中,加入如下代码,当Edit1中的文字被选中时,SelText中的内容就是Edit1中选中的内容。

procedure TMyHandler.BUTTON2CLICK;
//显示当前选中的文字内容
begin
  ShowMessage(FThis.Edit1.SelText);
end;
1
2
3
4
5

# 4.1.14. Text 属性

property Text: TCaption;
1

  Text属性用于读取或设置编辑框中的文本。

# 4.2. 事件

事 件 描 述
OnChange 当编辑组件中的文本发生改变时触发该事件,编其事件处理程序 可执行特定的功能
OnContextPopup 当用户右击组件或用其他方式(键盘)调用弹出菜单时产生该组件,编辑其事件处理程序可在响应用户行为中创建或显示组件的弹出菜单。该事件允许应用程序集中响应用户的各种行为
OnEndDrag 与对象的拖动结束后产生该事件
OnEnter 当组件获得输入焦点时产生该事件
OnExit 输入焦点从组件移至另一组件时产生该事件
OnKeyPress 当用户按下单个字符键时产生该事件

# 4.3. 方法

  • TEdit组件主要方法
方 法 描 述
Clear 该方法用于删除编輯组件中的所有文本,可使空字符串替换Text属性
ClearSelection 该方法用于删除编辑组件中的所选文本
ClearUndo 该方法用于淸除回退缓冲区,以使对文本所做的修改不能回退

# 4.3.1. Clear 方法*

procedure Clear; virtual;
1

  该方法用于删除编辑组件中的所有文本,用户可使空字符牢替换Text属性。如果要删除所选文本,可使用ClearSelection方法。

# 4.3.2. ClearSelcction 方法*

procedure ClearSelection;
1

  该方法用于删除编辑组件中的所选文本。如果无选择文本,则不执行操作;如果选择全部文本,则删除所有文本。调用该方法与为编辑组件发送WM_CLEAR消息相同。

# 4.3.3. ClearUndo 方法*

procedure ClearUndo;
1

  该方法用于清除回退缓冲区,以使对文本所做的修改不能回退。使用该方法可确认Text属性的改变,在调用后,CanUndo属性为False并且Undo方法不执行任何操作。


# 5. TMemo组件

  使用TMemo在窗体上放置标准Windows多行编辑组件。多行编辑框允许用户输入多行文本。它们适合表示冗长的信息。   TMemo实现了TCustomMemo中引入的通用行为。TMemo发布了许多从TCustomMemo继承的属性,但没有引入任何新行为。   注意:在Win9x下,此组件的文本限制为64k。

# 5.1. 属性

  • TMemo组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Alignment 确定文本在文本编辑组件中的对齐方式
Anchors 指定组件如何停放在父窗体中
BevelEdges 使用该属性可获得或设置组件成斜角的边缘
BevelInner 使用该属性可指定内斜角是否具有凸、凹或平坦的外观
BevelKind 使用该属性可修改斜角的风格,即斜角的倾斜程度
BevelOuter 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
BorderStyle 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框
CharCase 确定编辑组件中文本的大小写
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
HideSelectio True:编辑组件有焦点时,文本选择的部分有视觉提示;False:即使编辑组件无焦点,文本选择的部分仍然有视觉反应
ImeMode 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器
ImeName 设置该属性可配置IME名称
Lines 包含备忘录组件中的各行文本
MaxLength 利用该属性可限制用户输入的字符数,为0表示字符的长度没有限制
OEMConvert 确定在编辑组件中键入的字符是否从ANSI转换为OEM,然后再转换回ANSI
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ReadOnly 确定用户是否可以更改编辑组件的文本
ScrollBars 确定是否为多行文本编辑器添加水平或垂直的滚动条
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
Visible 确定组件是否可见
WantReturns 确定用户是否可以在文本中插入返回字符
WantTabs 确定用户是否可以在文本中插入制表符
WordWrap 确定编辑组件是否插入软回车,以便文本在右边距处换行

# 5.1.1. Alignment 属性

property Alignment: TAlignment;
1

  确定编辑组件中文本的对齐方式。   可选值如下:

  • taLeftJustify:输入的文本在组件的左边对齐。
  • taCenter:输入的文本在组件的居中对齐。
  • taRightJustify:输入的文本在组件的右边对齐。

# 5.1.2. CaretPos 属性

Propetry CaretPos:TPoint;
1

  指定相对于编辑器的客户区域原点的X和Y的位置。根据文本字符确定光标的位置时应使用SelStart属性。

  • 应用
      指出光标在TMemo组件中的位置。如显示当前光标在备注框中的行与列。
procedure TMyHandler.MEMO1MOUSEMOVE;
begin
  FThis.Label1.Caption := '当前位置:' + IntToStr(FThis.Memo1.CaretPos.X) + ',' 
  + IntToStr(FThis.Memo1.CaretPos.Y);
end;
1
2
3
4
5

# 5.1.3. Lines 属性

property Lines: TStrings;
1

  使用该属性能够以行为单位操作文本编辑器的文本,该属性是TStrings对象,所以TStrings的方法可用其完成各种操作,如计算文本的行数、添加一行、删除一行或用新的文本替代一行等。如果要处理所有文本,则使用Text属性;如果要处理文本的单行,则最好使用这个属性。虽然该属性作为TStrings的子类实现,但其不支持列表中与字符串对象相关的实现。

  • 应用
      在程序中如果需要向备注框中添加数据,则可以使用Lines属性的相关方法。
procedure TMyHandler.BUTTON1CLICK;
//点击以添加文字
begin
  FThis.Memo1.Lines.Add('爱招飞系列产品');
  FThis.Memo1.Lines.Add('Smart智慧控制平台');
  FThis.Memo1.Lines.Add('快速开发智能监测程序');
end;
1
2
3
4
5
6
7

# 5.1.4. ScrollBars 属性

property ScrollBars: TScrollStyle;
1

  该属性用于确定是否为多行文本编辑器添加水平或垂直滚动条。   可选值如下。

  • ssNone:没有滚动条。
  • ssBoth:水平、垂直都有滚动条。
  • ssHorizontal:水平滚动条。
  • ssVerticals垂直滚动条。

# 5.1.5. WantReturns 属性

property WantReturns: Boolean;
1

  该属性用于确定Enter键是否为换行符,为True时,允许用户输入Enter键时文本换行; 否则输入Enter键时允许操作窗体而不是换行。例如在窗体中放置一个默认(如OK)按钮和一 个文本编辑组件,如果该属性为False,则按Enter键选择OK按钮;杏则将在文本编辑器中插 入一个换行符。该属性为False时,用户按下Ctrl+Enter组合键,也可在文本编辑器中插入一个换行符。

# 5.1.6. WantTabs 属性

property WantTabs: Boolean;
1

  该属性用于确定用户可否插入制表符,为True时,允许在编辑文本中插入制表符;否则输 入Tab键将选择窗体上的下一个组件。设置该属性为True时,用户可在编辑器组件中制表,但是不能输出。

# 5.1.7. Wordwrap 属性

property Wordwrap: Boolean;
1

  该属性用于确定编辑组件是否插入了软回车,以使文本到达右边界时换行。为True时,将自动换行填充客户区域。这种换行只是为了装饰文本,而不是在文本中真正插入回车符;为False 时,则只有在文本中输入回车符时才能换行。设罝该属性为True时,不需要使用水平方向的滚动条。

# 5.1.8. CanUndo 属性

property CanUndo: Boolean;
1

  读取该属性可确定用户修改文本后足否通过调用Undo方法回退,在允许或禁止对应于这些命令的菜单项时这个属性非常有用。 示例代码:

begin
if FThis.Memo1.CanUndo then
    FThis.Memo1.Undo;
end;
1
2
3
4

# 5.1.9. HideSelection 属性

property HideSelection: Boolean;
1

  该属性用于确定焦点移走后所选文本是否保留视觉提示。设置为False并且编辑组件没有焦点时,所选文本部分仍保留视觉提示;否则只有在编辑组件获得焦点时,所选文本部分才保留视觉提示。该属性不影响选择的实际值,只是视觉提示。

# 5.1.10. MaxLength 属性

property MaxLength: Integer;
1

  利用该属性可限制用户输入的字符数,为0,表示字符的长度没有用户定义的限制。如果要将编辑组件中的文本复制到同定长度的缓冲区时,可用该属性限制编辑组件中的文本长度。设置该属性并不截断已存在的文本,而仅在输入达到界限后阻止用户输入更多的文本。

# 5.1.11. Modified 属性

property Modified: Boolean;
1

  使用该属性可确定编辑组件中的Text属性是否可修改。如果在应用程序中直接修改编辑组件中的文本,则应将这个属性设置为True。 代码示例

if FThis.Memo1.Modified then 
    ShowMessage('文本框中的数据发生了改变');
1
2

# 5.2. 事件

  • TMemo组件主要事件
事 件 描 述
OnChange 当编辑组件中的文本发生改变时触发该事件,编其事件处理程序 可执行特定的功能
OnContextPopup 当用户右击组件或用其他方式(键盘)调用弹出菜单时产生该组件,编辑其事件处理程序可在响应用户行为中创建或显示组件的弹出菜单。该事件允许应用程序集中响应用户的各种行为
OnEndDrag 与对象的拖动结束后产生该事件
OnExit 输入焦点从组件移至另一组件时产生该事件

# 5.3. 方法

  • TMemo组件主要方法
方 法 描 述
Clear 删除编辑组件中的所有文本,可用空字符串替换Text属性
ClearSelection 删除编辑组件中的所选文本
ClearUndo 淸除回退缓冲区,以使对文本所做的修改不能回退
SelectAll 选中备注框组件中的所有文本
Undo 取消从最后调用ClearUndo方法以对Text属性所做的所有修改

# 6. TButton组件

  使用TButton在窗体上放置标准按钮。TButton引入了几个属性来控制对话框设置中的行为。用户选择按钮组件来启动操作。命令按钮最常用的事件是 OnClick事件,该事件在用户单击按钮时被触发。   要使用显示位图而不是标签的按钮,请使用TBitBtn。要使用可以保持在按下位置的按钮,请使用TSpeedButton。   注意:由于TButton标题始终居中,因此更改BiDi对齐设置是无效的。

# 6.1. 属性

  • TButton组件主要属性
属性 功能说明
Action 指定与组件关联的操作
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Cancel 确定按下Esc键时按钮的OnClick事件处理程序是否执行
Caption 指定标识用户组件的文本字符串
CommandLinkHint 文本显示为命令链接按钮标题下方的提示
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Default 确定按下Enter键时按钮的OnClick事件处理程序是否执行
DisabledImageIndex 禁用按钮状态的图像索引
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
DropDownMenu 拆分按钮下拉菜单
ElevationRequired 在按钮上放置盾牌图标,表示需要提升访问权限
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
HotImageIndex 热键状态的图像索引
ImageAlignment 按钮上的图像对齐
ImageIndex 正常按钮状态的图像索引
ImageMargins 按钮上的图像边距
Images 按钮的图像列表
ModalResult 确定按钮是否以及如何关闭其(模态)父窗体
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
PressedImageIndex 按下按钮状态的图像索引
SelectedImageIndex 所选按钮状态的图像索引
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
Style 按钮的样式
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
Visible 确定组件是否可见
WordWrap 指定按钮文本是否换行以适合组件的宽度

# 6.1.1. Cancel 属性

property Cancel: Boolean;
1

  该属性用于确定,Escape键被按下时是否执行按钮的OnClick事件处理程序。如果Cancel 为True,则执行。虽然应用程序可有多个Cancel按钮,但是窗体仅调用组件顺序中第1个可视的Cancel按钮的OnClick事件处理程序。

  • True:用户按下Esc键时TButton组件的OnClick事件被触发。

  • False:用户按下Esc键时TButton组件的OnClick事件不被触发。

  • 应用
      设置当用户按Esc键时是否触发OnClick事件,默认值为False。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.Button1.Cancel := True;
end;

procedure TMyHandler.BUTTON1CLICK;
//点击按钮以清空
var
  i: Integer;
begin
  for i := 0 to FThis.Panel1.ControlCount - 1 do
  begin
    if FThis.Panel1.Controls[i] is TEdit then
      TEdit(FThis.Panel1.Controls[i]).Text := '';
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 6.1.2. Default 属性

property Default: Boolean;
1

  当按下Enter键时,通过该属性来确定组件的OnClick事件处理程序是否被执行。如果Default为True,则执行。虽然应用程序可有多个Default按钮,但是窗体仅调用组件顺序中第 1个可视Default按钮的OnClick事件处理程序。而任何一个获得焦点的按钮可变为临时 Default的按钮。如果用户在按下Enter键前选择了另一个按钮,则执行所选按钮的OnClick事件处理程序。

  • True:用户按下Enter键时TButton组件的OnClick事件被触发。

  • False:用户按下Enter键时TButton组件的OnClick事件不被触发。

  • 应用
      在开发程序时,如果需要在其他非按钮组件获得焦点时,按Enter键响应按钮的OnClick事件,可以设置按钮的Default属性为True。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.Button1.Default := True;
  FThis.Edit1.SetFocus;
end;

{方法实现  MODULE-REAL}
procedure TMyHandler.BUTTON1CLICK;
begin
  ShowMessage('按钮已被按下');
end;
1
2
3
4
5
6
7
8
9
10
11
12

# 6.1.3. Caption 属性

property Caption: TCaption;
1

  Caption属性用于设置按钮的标题。   如果需要在程序中动态地设置按钮标题,可以修改Caption属性,代码如下:

FThis.Button1.Caption :=  '确定';
1

# 6.1.4. Wordwrap 属性

property Wordwrap: Boolean;
1

  Wordwrap属性用于标识按钮文本是否自动换行以适应按钮的宽度。

  • True:标签中的文字长度,超出按钮长度时自动换行。
  • False:标签中的文字长度,超出按钮长度时不自动换行。

# 6.2. 事件

  • TButton主要事件
事 件 描 述
OnClick 当用户用鼠标单击按钮时触发OnClick事件

# 6.2.1. OnClick 事件

property OnClick: TNotifyEvent;
1

  当用户用鼠标单击按钮时触发OnClick事件。


# 7. TCheckBox组件

  TCheckBox组件为用户提供了一个选项。用户可以选中该框以选择该选项,或取消选中该选项以取消选择该选项。

# 7.1. 属性

  • TCheckBox组件主要属性
属性 功能说明
Action 指定与组件关联的操作
Align 确定组件在其父组件区内的对齐方式
Alignment 确定复选框标签是否与复选框的左侧或右侧对齐
AllowGrayed 确定复选框是否可以处于“灰色”状态
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Caption 指定标识用户组件的文本字符串
Checked 指定是否选中按钮组件
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
State 指示是选中,取消选中还是灰显复选框
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
Visible 确定组件是否可见
WordWrap 指定按钮文本是否换行以适合组件的宽度

# 7.1.1. Alignment 属性

property Alignment: TLeftRight;
1

  该属性用于控制复选框标题的位罝,设罝为taRightlustify时,标题显示在复选框右边;设置为taLeftJustify时,显示在左边。

  • 应用
 begin
   This.CheckBox1.Alignment := taRightJustify;
   This.CheckBox1.Alignment := taLeftJustify;
 end.
1
2
3
4

# 7.1.2. AllowGrayed 属性

property AllowGrayed: Boolean;
1

  该属性用于确定复选框是否处于灰色状态,设置为True时,复选框有3种可能的状态,即checked、unchecked和grayed;否则只有两种可能的状态:checked 和 unchecked。

# 7.1.3. Checked 属性

property Checked: Boolean;
1

  当复选框是选中状态时,该属性值为True;当复选框是未选中或灰色状态时,为False。

  • 应用
      在窗体中添加TMemo组件。如果选项被选中,则添加选项信息到TMemo组件中。
procedure TMyHandler.BUTTON1CLICK;
//点击后,提交checkbox中的内容属性
var
  Str : String;
begin
  if FThis.CheckBox1.Checked = True then
    Str := FThis.CheckBox1.Caption;
  if FThis.CheckBox2.Checked = True then
    Str := Str + ' ' + FThis.CheckBox2.Caption;
  if FThis.CheckBox3.Checked = True then
    Str := Str + ' ' + FThis.CheckBox3.Caption;
  if FThis.CheckBox4.Checked = True then
    Str := Str + ' ' + FThis.CheckBox4.Caption;
  FThis.Memo1.Lines.Clear;  
  FThis.Memo1.Lines.Insert(0, '已选中的选项:');
  FThis.Memo1.Lines.Insert(1, Str + ' ');
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 7.1.4. State 属性

property State: TCheckBoxState;
1

  该属性指定复选框是选中、未选中或变灰状态。

  • cbUnchecked:复选框没有复选标记,表示用户未选中该选项。

  • cbChecked:复选框有复选标记,表示用户已选中该选项。

  • cbGrayed:复选框有复选标记,但为变灰状态。

  • 应用
      设置窗体中的TCheckBox组件的AllowGrayed属性为True,用State属性判断该组件的状态。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.CheckBox1.AllowGrayed := True;
end;

procedure TMyHandler.BUTTON1CLICK;
//设置窗体中的TCheckBox组件的AllowGrayed属性为True,用State属性判断该组件的状态,
var
  cou: Integer;
begin
  FThis.Memo1.Lines.Clear;
  for cou := 0 to FThis.GroupBox1.ControlCount - 1 do
  begin
    if TCheckBox(FThis.GroupBox1.Controls[cou]).State = cbUnchecked then
      FThis.Memo1.Lines.Add(TCheckBox(FThis.GroupBox1.Controls[cou]).Caption + ':没有选中');
    if TCheckBox(FThis.GroupBox1.Controls[cou]).State = cbchecked then
      FThis.Memo1.Lines.Add(TCheckBox(FThis.GroupBox1.Controls[cou]).Caption + ':选中');
    if TCheckBox(FThis.GroupBox1.Controls[cou]).State = cbGrayed then
      FThis.Memo1.Lines.Add(TCheckBox(FThis.GroupBox1.Controls[cou]).Caption + ':变为灰色');    
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 8. TRadioButton组件

  TRadioButton组件封装了 Windows选项按钮,有时也称为单选按钮。选项按钮在Windows中很常见,显示为一个带文本标题的圆形外框图。一组选项按钮中的选项是相互排斥的,同一 时刻只能有一个单选按钮被选中。   默认情况下,直接包含在同一窗口组件容器中的所有单选按钮(如TRadioGroup或TPanel)都会进行分组。例如,窗体上的两个单选按钮只有在包含在单独的容器(例如两个不同的组框)中时才能同时检查。

# 8.1. 属性

  • TRadioButton组件主要属性
属性 功能说明
Action 指定与组件关联的操作
Align 确定组件在其父组件区内的对齐方式
Alignment 确定标题相对于单选按钮的位置
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Caption 指定标识用户组件的文本字符串
Checked 确定是否选中了单选按钮所代表的选项
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
Visible 确定组件是否可见
WordWrap 指定按钮文本是否换行以适合组件的宽度

# 8.1.1. Alignment 属性

property Alignment: TLeftRight;
1

  该属性用于确定相对于单选按钮的标题位置:取值为TaLeftJustify时,显示在单选按钮的左边;取值为TaRightlustify时,显示在单选按钮的右边。不要将Alignment属性和单选按钮文本区的标题对齐相混淆。标题总是左对齐的。 该属性只控制文本区出现在组件的一边。   Alignment属性的可选值如下。

  • taLeftJustify:标题显示在圆形按钮的左侧。
  • taRightJustify:标题显示在圆形按钮的右侧。 图示

# 8.1.2. Checked 属性

property Checked: Boolean;
1

  该属性用于确定单选按钮足否被选中,若设置为True,则选中,并取消同一容器中其他所有单选按钮的选择;否则取消选择。

  • True:可选择该组件,并使同组的其他组件恢复未选状态。
  • False:该组件不是选中状态。

# 8.2. 方法

  • TRadioButton组件主要方法列表
方法 功能描述
GetControlsAlignment 返回组件中任何文本的对齐方式

# 9. TListBox组件

  使用TListBox显示用户可选择、添加或删除的项目的可滚动列表。TListBox是Windows列表框组件的包装器。对于专门的列表框,使用TCustomListBox的其他子类或从TCustomListBox派生自己的类。   TListBox实现了TCustomListBox中引入的泛型行为。TListBox发布了许多从TCustomListBox继承的属性,但没有引入任何新行为。

# 9.1. 属性

  • TListBox组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
AutoComplete 确定用户是否可以通过在列表中键入来聚焦项目
AutoCompleteDelay 指定按键和尝试自动填充字段之间的延迟
BevelEdges 使用该属性可获得或设置组件成斜角的边缘
BevelInner 使用该属性可指定内斜角是否具有凸、凹或平坦的外观
BevelKind 使用该属性可修改斜角的风格,即斜角的倾斜程度
BevelOuter 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面
BevelWidth 使用该属性可指定内外斜角的像素宽度
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
BorderStyle 确定列表框是否具有边框
Color 指定组件的背景颜色
Columns 指定多列列表框中的列数,无需滚动即可显示
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 确定组件如何启动拖放操作或拖挂操作
Enabled 控制组件是否响应鼠标,键盘和计时器事件
ExtendedSelect 使用Shift和CTRL键使列表项多选操作
Font 确定组件内显示的文本字体
ImeMode 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器
ImeName 设置该属性可配置IME名称
IntegralHeight 确定列表框是否显示部分项目
ItemHeight 指定所有者-绘制列表框中项目的高度(以像素为单位)
Items 包含列表框中显示的字符串
MultiSelect 指定用户是否可以选择多个项目
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ScrollWidth 指定列表框可以水平滚动的宽度(以像素为单位)
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
Sorted 指定列表框中的项目是否按字母顺序排列
Style 确定列表框是标准框还是所有者绘图以及它是否为虚拟列表框
TabOrder 确定父组件的切换顺序
TabStop 确定用户是否可以通过Tab按键选择组件
TabWidth 指定列表框中选项卡的大小
Visible 确定组件是否可见

# 9.1.1. AutoComplete 属性

properly AutoComplete: Boolean;
1

  该属性用于设置是否自动将焦点移动到用户键盘输入的选项上。

  • 应用
      输入字符时,可以快速定位选项在ListBox中的位置。
begin
  This.ListBox1.Items.Add('China');
  This.ListBox1.Items.Add('American');
  This.ListBox1.Items.Add('Japan');
  This.ListBox1.Items.Add('England');
  This.ListBox1.Items.Add('Gemany');
  This.ListBox1.Items.Add('Chile');
  This.ListBox1.AutoComplete := True;
end.
1
2
3
4
5
6
7
8
9

# 9.1.2. BorderStyle 属性

property BorderStyle: TBorderStyle;
1

  该属性用于设置TListBox组件是否具有边框。   取值:bsNone, bsSingle。

# 9.1.3. Columns 属性

property Columns: Integer;
1

  该属性用于指定TListBox的可见列数。

  • 应用
      设置Columns属性能够改变TListBox的可见列数。
begin
  This.ListBox1.Items.Add('China');
  This.ListBox1.Items.Add('American');
  This.ListBox1.Items.Add('Japan');
  This.ListBox1.Items.Add('England');
  This.ListBox1.Items.Add('Gemany');
  This.ListBox1.Items.Add('Chile');
  This.ListBox1.Columns := 0;
   
  This.ListBox2.Items.Add('China');
  This.ListBox2.Items.Add('American');
  This.ListBox2.Items.Add('Japan');
  This.ListBox2.Items.Add('England');
  This.ListBox2.Items.Add('Gemany');
  This.ListBox2.Items.Add('Chile');
  This.ListBox2.Columns := 1;
  
  This.ListBox3.Items.Add('China');
  This.ListBox3.Items.Add('American');
  This.ListBox3.Items.Add('Japan');
  This.ListBox3.Items.Add('England');
  This.ListBox3.Items.Add('Gemany');
  This.ListBox3.Items.Add('Chile');
  This.ListBox3.Columns := 2;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
设置Columns属性能够改变TListBox的可见列数,改变该属性的效果图

# 9.1.4. Count 属性

property Count: Integer;
1

  该属性用于获得TListBox组件中的选项数。

  • 应用
      在程序中可以通过Count统计选项个数,向窗体中添加一个TLabel组件,设置该组件的Caption属性为“列表中共有%d个选项。”。
begin
  This.Label1.Caption := '列表中共有%d个选项';
  This.ListBox1.Items.Add('China');
  This.ListBox1.Items.Add('American');
  This.ListBox1.Items.Add('Japan');
  This.ListBox1.Items.Add('England');
  This.ListBox1.Items.Add('Gemany');
  This.ListBox1.Items.Add('Chile');
  This.Label1.Caption := Format(This.Label1.Caption,[This.ListBox1.Count]);
end.
1
2
3
4
5
6
7
8
9
10

# 9.1.5. ExtendedSelect 属性

property ExtendedSelect: Boolean;
1

  该属性用于决定是否可在TListBox中选取一个范围内的选项。

  • 应用
    当MultiSelect为True时该属性才发挥作用,能够选取连续的几个选项。
begin
  This.ListBox1.MultiSelect := True;
  This.ListBox1.Items.Add('China');
  This.ListBox1.Items.Add('American');
  This.ListBox1.Items.Add('Japan');
  This.ListBox1.Items.Add('England');
  This.ListBox1.Items.Add('Gemany');
  This.ListBox1.Items.Add('Chile');
end.
1
2
3
4
5
6
7
8
9

# 9.1.6. IntegralHeight 属性

property IntegralHeight: Boolean;
1

  该属性用于设置TListBox是否部分显示那些显示不全的选项。

# 9.1.7. ItemHeight 属性

property ItemHeight: Integer;
1

  该属性用于设置TListBox中的选项高度。

# 9.1.8. Itemlndex 属性

property Itemlndex: Integer;
1

  该属性用于指定和获取在当前列表中选择的选项。

  • 应用
      通过Itemlndex属性能够得到当前所选择的选项。
constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.ListBox1.Items.Add('China');
  FThis.ListBox1.Items.Add('American');
  FThis.ListBox1.Items.Add('Japan');
  FThis.ListBox1.Items.Add('England');
  FThis.ListBox1.Items.Add('Gemany');
end;

procedure TMyHandler.LISTBOX1CLICK;
//点击以显示当前选择的选项
begin
  FThis.Label1.Caption := Format('当前选项: %s',
  [FThis.ListBox1.Items.Strings[FThis.ListBox1.ItemIndex]]);
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 9.1.9. Items 属性

property Items: TStrings;
1

  该属性用于指定TListBox中包含的所有选项。

  • 应用
      通过Items属性能够对TListBox中的每个选项进行操作
constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.ListBox1.Items.Add('China');
  FThis.ListBox1.Items.Add('American');
  FThis.ListBox1.Items.Add('Japan');
  FThis.ListBox1.Items.Add('England');
  FThis.ListBox1.Items.Add('Gemany');
end;

{方法实现  MODULE-REAL}
procedure TMyHandler.BUTTON1CLICK;
//添加Edit1中的内容至ListBox
begin
  if FThis.Edit1.Text <> '' then
  begin
    FThis.ListBox1.Items.Add(FThis.Edit1.Text);
  end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 9.1.10. MultiSelect 属性

property MultiSelect: Boolean;
1

  该属性用于决定是否使用一次选择多项的功能。示例详见ExtendedSelect 属性

# 9.1.11. ScrollWidth 属性

property ScrollWidth: Integer;
1

  该属性用于指定列表框的宽度,当该属性的值大于列表框宽度时将显示水平滚动条,否则隐藏滚动条。

# 9.1.12. SelCount 属性

property SelCount: Integer;
1

  该属性返回当前选中的选项总数量。

  • 应用
      通过该属性能够返回选中选项的总数量。
constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.ListBox1.MultiSelect := True;
  FThis.ListBox1.Items.Add('China');
  FThis.ListBox1.Items.Add('American');
  FThis.ListBox1.Items.Add('Japan');
  FThis.ListBox1.Items.Add('England');
  FThis.ListBox1.Items.Add('Gemany');
  FThis.ListBox1.Items.Add('Chile');
end;

procedure TMyHandler.LISTBOX1CLICK;
begin
  FThis.Label1.Caption := Format('总共选择了%d个选项!',[FThis.ListBox1.SelCount]);
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 9.1.13. Selected 属性

property Selected[Index: Integer]: Boolean;
1

  该属性返回指定选项是否被选中。Index:索引号,该索引号为选项的编号。

# 9.1.14. Sorted 属性

property Sorted: Boolean;
1

  该属性用于设置TListBox中的选项是否按字母顺序排列。

# 9.1.15. Style 属性

property Style: TListBoxStyle;
type TListBoxStyle = (lbStandard, IbOwnerDrawFixed, lbOwnerDraw Variable, lbVirtual, lbVirtualOwnerDraw);
1
2

  该属性用于确定TListBox组件的风格。

  • lbStandard:所有的选项都是字符串,并且高度相同。
  • IbOwnerDrawFixed:列表中每一项的高度由ItemHeight属性抱定,且与每一项重绘时都会触发 OnDrawItem事件来绘制选项。
  • IbOwnerDrawVariable:列表框中每一项的高度是可变的,并且与IbOwnerDrawFixed一样会触发OnDrawItem事件,但是选择该选项还会触发OnMeasureltem事件来设置每一项的高度。
  • lbVirtual:列表是一个虚表,必须为列表指出选项的数量,必须为列表实现OnData、OnDataFind、 OnDataObject 事件。
  • lbVirtualOwnerDraw:列表是一个虚表而且能够自绘,必须为列表指出选项的数量,必须为列表实现 OnDrawItem 、OnData OnDataFind、OnDataObject事件。

# 9.1.16. TabWidth 属性

property TabWidth: Integer;
1

  该属性用于设罝Tab制表符的宽度。

# 9.1.17. Toplndex 属性

property Toplndex: Integer;
1

  该属性用于设置当前所能看到的选项中在最顶端的选项的索引编号。

# 9.2. 事件

  • TListBox主要事件
事 件 描 述
OnContextPopup 当右击该组件时触发该事件
OnData 当virtual类型的TListBox需要补充选项中的文字时触发该事件

# 9.2.1. OnData 事件

property OnData: TLBGetDataEvent;
type 
  TLBGetDataEvent = procedure(Control: TWinControI; Index: Integer; var Data: String) of object;
1
2
3

  OnData事件使得TListBox能够动态地载入数据项,在程序中能够动态地为TListBox组件添加和修改数据项,或者为数据项赋值。这种机制大大增加了 TListBox使用的灵活性,应用代码如下:

type
  TMyHandler = class(TForm)  
var
  MyItem : Array [0..9] of String;
private 
  FThis:TBaseForm; 
Public 
  constructor Create(AOwner: TComponent); override;
{模块声明  MODULE-DECLARE}
  procedure ListBox1Data(Control: TWinControl; Index: Integer; var Data: string);
end;

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.ListBox1.Style := lbVirtual;
  MyItem[0] := '张三';
  MyItem[1] := '李四';
  MyItem[2] := '王五';
  MyItem[3] := '赵六';
  FThis.ListBox1.Count := 4;
end;

{方法实现  MODULE-REAL}
procedure TMyHandler.ListBox1Data;
begin
  Data := MyItem[index];
end;

var
  FMyHandler:TMyHandler;
begin
  FMyHandler := TMyHandler.Create(this);
{事件绑定  MODULE-BIND}
  this.ListBox1.OnData := FMyHandler.ListBox1Data;
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# 9.3. 方法

  • TListBox主要方法
方 法 描 述
AddItem 向TListBox中添加一个选项
Clear 清空列表中的所有选项
ClearSelection 取消所有已经选择的选项
ItemAtPos 返回指定坐标点上的选项索引
DeleteSelected 删除所选择的选项
SelectAll 选择TListBox中的所有选项
MoveSelection 将所有选择的选项移动到另一个TListBox组件中

# 9.3.1. AddItem 方法

procedure AddItem(Item: String; AObject: TObject);
1

  该方法用于向TListBox中添加一个选项。其中Item为显示字符串的选项,AObject为关联的对象选项。

  向TListBox中添加一项,例如添加一个Modbus设备,示例代码如下:

  FThis.ListBox1.AddItem('Modbus Device 1',FThis.ModbusRTUReadChannel1.ModbusList[0]);
1

# 9.3.2. Clear 方法

procedure Clear;
1

  该方法用于清空列表中的所有选项。

# 9.3.3. ClearSelection 方法

procedure ClearSelection;
1

  取消所有已经选择的选项。在TListBox允许多选(MultiSelect为True)的情况下,如果想要取消所选择的选项,则可以调用ClearSelection 方法,示例如下:

procedure TMyHandler.Button1Click;
begin
  FThis.ListBox1.ClearSelection;
end;
1
2
3
4

# 9.3.4. ItemAtPos 方法

function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;
1

  该方法用于返回指定坐标点上的选项索引。

  • Pos: 坐标点。
  • Existing: 是否返回现有选项,如果Existing为True,则当坐标点没有选项时返回-1;如果 Existing为False,则当坐标点没有选项时返回最后一个选项的索引。
  • 返回值: 返回一个表示当前坐标所在项的索引的整型值。

  在程序运行时,可以通过鼠标移动消息处理函数来获得当前鼠标所在的选项,代码如下:

{模块声明  MODULE-DECLARE}
procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X: Integer; Y: Integer);

...

procedure TMyHandler.ListBox1MouseMove;
var 
  s: TPoint;
  i: Integer;
begin
   s.X := x;
   s.Y := y;
   i := FThis.ListBox1.ItemAtPos(s, True);
   FThis.Label1.Caption := '鼠标指向:' + FThis.ListBox1.Items.Strings[i];
end;

...
{事件绑定  MODULE-BIND}
  this.ListBox1.OnMouseMove := FMyHandler.ListBox1MouseMove;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 9.3.5. DeleteSelected 方法

procedure DeleteSelected; override;
1

  该方法用于删除所选择的选项。在程序运行时如果想删除某些选项的话就要用到该方法,在TListBox中选择选项,然后调用DeleteSelected方法就能够将选中的选项删除。该方法在Style为lbStandard时能够删除列表中的选项,如果在Style为其他值时必须提供其他操作。

  FThis.ListBox1.DeleteSelected;
1

# 9.3.6. SelectAll 方法

procedure SelectAll;override;
1

  该方法用于选择TListBox中的所有选项。

# 9.3.7. MoveSelection 方法

procedure MoveSelection(Destination: TCustomListControl); virtual;
1

  该方法将所有选择的选项移动到另一个TListBox组件中。

  • Destination: 移动目标,可以是任何TCustomListControl继承下来的组件。

  在两个TListBox中移动选项,使用MoveSelection方法是最方便的,代码如下:

  FThis.ListBox1.MoveSelection(FThis.ListBox2);
1

# 10. TComboBox 组件

  TComboBox组件是一个编辑框,其上附有可滚动的下拉列表。用户可以从列表中选择项目或直接在编辑框中输入。   注意:TComboBox中按钮的宽度等于Windows用于滚动条的宽度。此宽度取决于用户选择的颜色方案(通过右键单击桌面,选择“属性”,然后选择“外观”)。在WindowsXP上,用户可以通过单击“高级”按钮并选择滚动条作为项目来专门更改滚动条的宽度。如果仔细调整组合框的大小以使所有文本都可见,则以不同颜色方案运行的用户可能会发现文本被按钮遮挡。一种解决方案是在开发应用程序时将滚动条设置为宽。大多数配色方案使用最多21像素宽的滚动条。

# 10.1. 属性

  • TComboBox组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
AutoCloseUp 指定当用户选择项目时,下拉列表是否自动关闭
AutoComplete 键入时匹配列表项的位置
AutoCompleteDelay 指定按键和尝试自动填充字段之间的延迟
AutoDropDown 指定下拉列表是否会自动降低以响应用户击键
BevelEdges 使用该属性可获得或设置组件成斜角的边缘
BevelInner 使用该属性可指定内斜角是否具有凸、凹或平坦的外观
BevelKind 使用该属性可修改斜角的风格,即斜角的倾斜程度
BevelOuter 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
CharCase 确定组合框中文本的大小写
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 控制用户何时可拖动组件
DropDownCount 指定下拉列表中显示的最大项目数
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
ImeMode 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器
ImeName 设置该属性可配置IME名称
ItemHeight 指定下拉列表中项目的高度(以像素为单位)
ItemIndex 指定所选项的索引
Items 提供对组合框列表部分中项目(字符串)列表的访问
MaxLength 指定用户可以在组合框的编辑部分中键入的最大字符数
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
Sorted 确定组合框的列表部分是否按字母顺序排列
Style 确定组合框的显示样式
TabOrder 确定父组件的切换顺序
TabStop 使用该属性可允许或不允许用Tab访问组件
Text 包含与组件关联的文本字符串
TextHint 指定在组合框组件的编辑框中显示为文本水印的文本
Visible 确定组件是否可见

# 10.1.1. AutoCloseUp 属性

property AutoCloseUp: Boolean;
1

  确定当用户选择一个选项后是否自动关闭下拉列表。当TComboBox组件的AutoCloseUp属性设置为False时,用户输入一个列表中己有的选项TComboBox组件不会自动关闭。当TComboBox组件的AutoCloseUp属性设置为True时,用户输入一个列表中已有的选项后,TComboBox组件会自动关闭。

注意: 当AutoComplete属性为True时,在TComboBox组件的文本框输入字符时,下拉列表中将显示与之匹配的内容。

# 10.1.2. AutoComplete 属性

property AutoComplete: Boolean;
1

  该属性用于设置TComboBox组件是否提供自动完成文字输入的功能。AutoComplete属性为False时,TComboBox不提供自动完成的功能,AutoComplete属性为True时,TComboBox提供自动完成的功能。

# 10.1.3. AutoDropDown 属性

property AutoDropDown: Boolean;
1

  该属性决定TComboBox组件是否在用户敲击键盘时自动拉开。

# 10.1.4. CharCase 属性

property CharCase: TEditCharCase;
type TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);
1
2

  该属性确定在TComboBox中输入字母的格式。

取 值 作 用
ecLowerCase 全部小写
ecNonnal 正常
ecUpperCase 全部大写

# 10.1.5. SelText 属性

property SelText: string;
1

  SelText能够返回TComboBox中用户选择的文字,示例代码如下:

procedure TMyHandler.ComboBox1KeyUp;
begin
  FThis.Edit1.Text := FThis.ComboBox1.SelText;
end;
1
2
3
4

  该属性只当TComboBox组件获得焦点时才能够获得所选中的文字,否则返回空字符串。

# 10.1.6. Sorted 属性

property Sorted: Boolean;
1

  该属性用于决定列表是否按字母顺序排列。将该属性设置为True后能够使列表中的选项重新按照字母顺序排列。

# 10.1.7. Style 属性

property Style: TComboBoxStyle;
type TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDraw Variable);
1
2
取 值 作 用
csDropDown 创建一个下拉列表框和一个编辑框,所有的选项字符串都是同样的高度
csSimple 创建一个编辑框和一个固定的列表
csDropDownList 创建一个没有编辑框的下拉列表,用户不能手动输入文字,所有选项都是同等高度的字符串
csOwnerDrawFixed 创建一个没有编辑框的自绘下拉列表,每个选项的高度由ItemHeight属性指定
csOwnerDrawVariable 创建一个没有编辑框的自绘下拉列表,列表中的选项高度可变

# 10.1.8. DropDownCount 属性

property DropDownCount: Integer;
1

  该属性用于指定下拉列表最多显示的选项数。DropDownCount属性指定了下拉列表弹出显示的选项列数,如果选项的数量多于DropDownCount属性值时,列表的右边会出现一个滚动条。

# 10.1.9. DroppedDown 属性

property DroppedDown: Boolean;
1

  该属性用于确定当前下拉列表是否己经打开并正在显示,如果为True则表示已经打开,通常作为一个返回值使用。

# 10.1.10. Itemlndex 属性

property Itemlndex: Integer;
1

  Itemlndex返回的是用户选择的选项的索引值,通过该值能够返回用户所选择的选项。

# 10.1.11. Items 属性

property Items: TStrings;
1

  利用该属性能够对TComboBox中的列表进行访问。

# 10.1.12. MaxLength 属性

property MaxLength: Integer;
1

  该属性用于设置用户最多能够在编辑框中输入的字符数。

# 10.1.13. SelLength 属性

property SelLength: Integer;
1

  该属性用于获得用户在TComboBox的编辑框中选择的文本长度。

# 10.2. 事件

事 件 描 述
OnChange 当用户修改TComboBox编辑框中的文字时触发该事件
OnCloseUp TComboBox组件的下拉列表关闭时触发该件
OnContextPopup 当用户右击组件或用其他方式(键盘)调用弹出菜单时触发该事件
OnDropDown TComboBox组件的下拉列表弹出时触发该事件
OnExit 输入焦点从组件移至另一组件时产生该事件
OnMeasureltem 与csOwnerDrawVariable炎型的TComboBox组件中的选项需要重 新显示时触发该事件
OnSelect 当用户在列表中选择一个字符串时触发该事件
OnStartDock 当用户开始拖动组件时产生该事件

# 10.3. 方法

方 法 描 述
AddItem 向下拉列表中添加选项
Clear 清除TComboBox列表中的所有选项和编辑框中的义字
ClearSelection 设置Itemlndex属性为-1
CopySelection 复制己经选择的选项到另一个组合框中
DeleteSelected 删除TComboBox中所选择的选项
Focused 确定TComboBox组件是否获得焦点
MoveSelection 将所选择的选项移动到另一个TComboBox中
SelectAll 选择TComboBox编辑框中的所有文本

# 10.3.1. AddItem 方法

procedure Addltem(ltem: String; AObject: TObject);
1

  该方法用于向下拉列表中添加选项。

  • Item: 添加项的字符串值。
  • AObject: 关联的对象。

  向TComboBox中添加一个选项,关联一个对象,并通过选项能够读取和操作对象。本应用是向列表中添加一些单选按钮,通过选择列表中的选项就能够选择指定的单选按钮。

  FThis.ComboBox1.Clear;
  FThis.ComboBox1.AddItem('RadioButton1',FThis.RadioButton1);
  FThis.ComboBox1.AddItem('RadioButton2',FThis.RadioButton2);
  FThis.ComboBox1.AddItem('RadioButton3',FThis.RadioButton3);
1
2
3
4

# 10.3.2. Clear 方法

procedure Clear; override;
1

  通过该方法能够淸除TComboBox列表中的所有选项和编辑框中的文字。

# 10.3.3. ClearSelection 方法

procedure ClearSelection; override
1

  该方法用于设置Itemlndex属性为-1。清空TComboBox组件编辑框中的文本,并设置Itemlndex属性为-1,即当前没有选择选项。

# 10.3.4. CopySelection 方法

procedure CopySelection (Destination: TCustomListControl); override;
1

  该方法用于将己经选择的选项复制到另一个框中。

Destination: 复制选项的目标组件,该组件可以是任何Destination继承而来的类实例。

# 10.3.5. DcleteSelected 方法

procedure DeleteSelected; override 
1

  该方法用于删除在TComboBox中所选择的选项。在运行程序时,如果想要将TComboBox列表中的选项删除,可以使用DeleteSelected方法。

# 10.3.6. Focused 方法

function Focused: Boolean; override;
1

  该方法用于确定TComboBox组件是否获得焦点。

# 10.3.7. MoveSelection 方法

procedure MoveSelection(Destination: TCustomListControl); virtual;
1

  该方法用于将所选择的选项移动到另一个TComboBox中。

Destination: 移动选项的目标组件,该组件可以是任何Destination继承而来的类实例。


# 11. TImageComboBox 组件

  TImageComboBox组件是一个编辑框,其上附有可滚动的下拉列表。用户可以从列表中选择项目。该组件中的选项是从数据库中进行获取的,用户无法自行手动添加。

# 11.1. 属性

  • TImageComboBox组件主要属性
属性 功能说明
Enabled 是否让该组件响应鼠标或按键操作
ItemIndex 设置默认选择的选项

# 11.2. 方法

# 11.2.1. FillSQL

procedure FillSQL(ASQL:UnicodeString);
1

  该方法可将查询到的结果回传至选项中,需要注意回传的内容格式需包含FID(主键字段)以及FName(显示的选项字段)。例如下方的例子:

 FThis.ImageComboBox1.FillSQL('SELECT FReportID AS FID,FReportName AS FName FROM Dict_Report');
1

# 12. TScrollBar组件

  TScrollBar是一个Windows滚动条,用于滚动窗口,窗体或组件的内容。   使用TScrollBar向窗体添加独立滚动条。许多组件都具有添加滚动条的属性,滚动条是组件的一个组成部分(TControlScrollBar对象)。TScrollBar允许在用户操作TScrollBar对象时滚动没有集成滚动条或组件分组的组件。   当滚动条的双向模式改变时,其坐标系被反转。从左到右模式的位置0是左侧,从右到左模式的位置0是右侧。

# 12.1. 属性

  • TScrollBar组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 控制用户何时可拖动组件
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Kind 指定滚动条是水平还是垂直
LargeChange 确定用户单击拇指选项卡两侧的滚动条或按PgUp或PgDn时位置的更改量
Max 指定滚动条表示的最大位置
Min 指定滚动条表示的最小位置
PageSize 指定缩略图选项卡的大小
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性。
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
Position 指示滚动条的当前位置
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
SmallChange 确定用户单击滚动条上的箭头按钮或按下键盘上的箭头键时位置的更改量
TabOrder 确定父组件的切换顺序
TabStop 使用该属性可允许或不允许用Tab访问组件
Visible 确定组件是否可见

# 12.2. 事件

  • TScrollBar组件主要事件列表
事件 何时触发
OnScroll 当用户使用鼠标或键盘滚动滚动条时,将触发该事件

# 12.3. 方法

  • TScrollBar组件主要方法列表
方法 功能描述
SetParams 一次性设置Position,Max和Min属性值

# 13. TGroupBox 组件

  TGroupBox表示Windows组框。   TGroupBox组件表示标准Windows组框,用于对窗体上的相关组件进行分组。当另一个组件组件放置在组框内时,组框将成为该组件的父组件。

# 13.1. 属性

  • TGroupBox组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Caption 指定标识用户组件的文本字符串
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 确定组件是否可见

# 14. TRadioGroup 组件

  TRadioGroup代表一组共同作用的单选按钮。   TRadioGroup对象是一个特殊的组框,仅包含单选按钮。直接放置在同一控制组件中的单选按钮被称为“分组”。当用户单选按钮时,其组中的所有其他单选按钮都将取消选中。因此,只有将窗体放在单独的容器(例如组框)中时,才能同时检查窗体上的两个单选按钮。   要将单选按钮添加到TRadioGroup,请编辑对象查看器中的Items属性。Items中的每个字符串都会在组框中显示一个单选按钮,并将字符串作为其标题。ItemIndex属性的值确定当前选择的单选按钮。   通过设置“列”属性,在单列或多列中显示单选按钮。   注意: 将组的BiDiMode设置为bdRightToLeft会自动翻转其单选按钮。FlipChildren方法无效。

# 14.1. 属性

  • TRadioGroup组件主要属性
属性 功能说明
Align 确定组件在其父组件区内的对齐方式
Anchors 指定组件如何停放在父窗体中
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
Caption 指定标识用户组件的文本字符
Color 指定组件的背景颜色
Columns 指定单选按钮组中的列数
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 控制用户何时可拖动组件
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
ItemIndex 指示当前选择组中的哪个单选按钮
Items 列出单选按钮组中的单选按钮
ParentBackground 确定组件是否使用父级的主题背景
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
TabOrder 确定父组件的切换顺序
TabStop 使用该属性可允许或不允许用Tab访问组件
Visible 确定组件是否可见
WordWrap 指定单选按钮的文本是否包装以适合组的宽度

# 15. TPanel 组件

  TPanel实现了通用面板组件。   使用TPanel将空面板放在窗体上。面板具有在组件周围提供斜面边框的属性,以及管理嵌入面板中的子组件放置的方法。   您还可以使用面板将组件组合在一起,类似于使用组框的方式,但使用斜面边框(或无边框)而不是组框轮廓。面板通常用于单个窗体内的组件组。如果您打算在其他窗体中使用相同的分组,则可能需要使用框架。   在编写使用拖放的应用程序时,没有边框的面板可用作停靠点。

# 15.1. 属性

  • TPanel组件主要属性
属性 功能说明
DockManager 指定组件的停靠管理器界面
Align 确定组件在其父组件区内的对齐方式
Alignment 确定标题在面板中的对齐方式
Anchors 指定组件如何停放在父窗体中
AutoSize 指定组件是否自动调整大小以容纳其内容
BevelEdges 使用该属性可获得或设置组件成斜角的边缘
BevelInner 确定面板内斜角的样式
BevelKind 使用该属性可修改斜角的风格,即斜角的倾斜程度
BevelOuter 确定面板外斜面的样式
BevelWidth 确定面板内外斜面的宽度(以像素为单位)
BiDiMode 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式
BorderStyle 确定围绕面板组件周边绘制的线条样式
BorderWidth 指定外斜面和内斜面之间的距离(以像素为单位)
Caption 指定标识用户组件的文本字符串
Color 指定组件的背景颜色
Constraints 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制
Ctl3D 确定组件是否具有三维(3-D)或二维外观
DockSite 使用该属性可确定组件是否为拖动和停靠操作目标
DoubleBuffered 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图
DragCursor 当前组件受拖动时光标的形状
DragKind 获取或设置组件是拖动操作还是拖动/停靠操作
DragMode 控制用户何时可拖动组件
Enabled 控制组件是否响应鼠标,键盘和计时器事件
Font 确定组件内显示的文本字体
FullRepaint 确定面板在调整大小时重新绘制自身的方式
Locked 确定用作工具栏的面板是否被OLE服务器提供的工具栏替换
Padding 指定组件的填充
ParentBackground 确定组件是否使用父级的主题背景
ParentBiDiMode 获得或设置组件是否使用其父组件的BiDiMode属性
ParentColor 组件要使用与其父组件相同的颜色
ParentCtl3D 确定组件是否使用父组件的Ctl3D属性
ParentDoubleBuffered 获得或设置组件是否使用父组件的DoubleBuffered属性
ParentFont 确定组件是否使用父组件的Font
ParentShowHint 确保窗体中的所有组件以统一格式显示帮助提示
PopupMenu 在组件上单击光标右键时出现的弹出式菜单
ShowCaption 指定是否显示面板组件的标题
ShowHint 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示”
TabOrder 确定父组件的切换顺序
TabStop 使用该属性可允许或不允许用Tab访问组件
UseDockManager 指定是否在拖放操作中使用停靠管理器
VerticalAlignment 设置标题的垂直位置
Visible 确定组件是否可见

# 16. TActionList 组件

  TActionList维护组件和组件可以使用的操作列表,例如菜单项和按钮。   使用操作列表集中响应用户命令(操作)。操作列表组件维护应用程序中客户端组件可用的操作列表。从组件面板的标准页面向窗体或数据模块添加操作列表组件。双击操作列表以显示操作列表编辑器,您可以从中添加,删除和重新排列操作。   注意:TActionList主要用于管理跨平台应用程序中的操作。虽然始终可以使用TActionList维护应用程序的操作,但使用操作管理器可能更简单。

# 16.1. 属性

  • TActionList组件主要属性
属性 功能说明
Images 列出可用于操作列表中的操作的图像
State 当用户触发客户端对象时,操作列表中的操作是否响应

# 16.2. 事件

  • TActionList组件主要事件列表
事件 何时触发
OnChange 在操作列表中发生更改时触发该事件。
OnExecute 客户端对象在列表中触发操作时触发该事件。
OnStateChange 在OnChange事件之后触发该事件。
OnUpdate 在应用程序空闲时触发该事件,以便操作列表可以更新列表中的特定操作。

# 17. TBarCode 组件

  TBarCode组件用于展示条形码。在使用该组件时,请先确认所需的条码编码格式。

# 17.1. 属性

  • TBarCode组件主要属性
属性 功能说明
FitMode 位于Properities属性组中,
ModuleColor 位于Properities属性组中,获取或设置条形码组件的显示颜色
ModuleWidth 位于Properities属性组中,显示组件的宽度倍数,用以放大或缩小显示区域
RotationAngle 位于Properities属性组中,设置组件的顺时针旋转角度
ShowText 位于Properities属性组中,设置是否在条形码下方显示对应文字
Symbology 位于Properities属性组中,设置条形码的编码格式,当选择为QRCode时展示为二维码
Text 设置条形码显示的数值信息,根据编码格式显示的数值内容会有变化,当Symbology为QRCode时可输入字符

  引用Properities属性组中的属性

  FThis.BarCode1.Properties.ShowText := True;
1

# 18. TWebBrowser 组件

  该组件用于调用浏览器进行网页浏览。

# 18.1. 方法

# 18.1.1. Navigate 方法

procedure Navigate(const URL : WideString);
1

  该方法用于指定浏览器打开的网页。

  FThis.WebBrowser1.Navigate('https://www.baidu.com');
1

# 19. TIdHTTPServer 组件

  该组件实现了一个简易的HTTP服务器的功能,用来实现对数据库的连接功能。

# 19.1. 属性

属性 功能说明
DefaultPort 设置默认的服务端口

# 19.2. 事件

事件 描述
OnCommandGet 当获取到命令时触发该事件

# 20. TIdTCPClient 组件

  TIdTCPClient组件实现了TCP的客户端部分功能,它封装了一个完整的TCP客户端,包括对套接字的支持。该组件可用来实现专门协议的组件的父类。

# 20.1. 属性

属性 功能说明
BoundIP 指定客户端连接使用的本地IP地址,当与服务器连接时使用此属性值初始化绑定
BoundPort 指定本地连接中的首选端口号,即建立客户连接的本地端口号的整数
Host 指定所要连接的远程计算机的IP地址或计算机名称
Intercept 该属性是TidConnectionlntercept类型,允许截取连接的读写操作
LocalName 本地计算机的主机名
MaxLineLength 最大连接数
Port 指定客户端连接服务器所使用的端口号
ReadTimeout 该属性是一个只读属件,用于判断Read方法是否超时
RecvBufferSize 指定连接所用的接收缓冲区的大小,默认为8192字节
ReadLnTimedOut 该属件是一个只读属性,用于判断ReadLn方法是否超时
SendBufferSize 指定连接所用的写缓冲区的最大字节数,默认为32768字节

# 20.2. 方法

方法 描述
Connect 连接数据库,使用该方法之前必须指定Host属性和Port属性
CancelWriteBuffer 停止向缓冲区写入数据
ClearWriteBuffer 清除写缓冲区
Connected 判断连接是否被激活
CurrentReadBuffer 返回当前缓冲区中的数据
Disconnect 断开与服务器的连接
DisconnectSocket 关闭当前连接的套接字的绑定
InputLn 从服务器读取一行数据并返回该行数据
ReadBuffer 从缓冲区中读取AByteCount长度的数据存入ABuffer参数中
ReadCardinal 从连接中读取一个32位无符号整型值
Readlnteger 从缓冲区中读取一个4字节的二进制整型值
ReadLn 从缓冲区中读取一行数据并作为返回值
ReadLnWait 返回单行数据。使用默认的分隔符和超时设置
ReadSmallint 从连接中读取一个整型值,范围在0-255之间
ReadStream 从缓冲区中读取数据并存入AStream参数指定的流中,AByteCount 参数用来指定读取的字节数
ReadString 从缓冲区中读取由ABytes参数指定字节的字符串
WaitFor 从连接中读取数据直到遇到AString参数指定的字符串为止
Write 将AOut参数指定的字符串发送到连接,若参数为空则不发送
WriteBuffer 将缓冲区中的数据发送到连接
WriteCardinal 发送一个32位的无符号整型值到连接
WriteFile 将AFile参数指定的本地系统的文件发送到连接,与AEnableTransferFile参数为True时,服务器增加传输选项的功能
Writelnteger 将一个二进制整型值发送到连接
WriteLn 将AOut参数指定的字符串发送到连接
WriteSmalllnt 将AValue参数中的一个小整型值发送到连接
WriteStream 将AStream参数指定的流发送到连接
WriteStrings 将AValue参数中的多行文本发送到连接

# 21. TIdTCPServer 组件

  该组件封装了一个完整的多线程TCP服务器。

# 21.1. 属性

属性 功能说明
Active 该属性值为True时,服务器开启等待客户端与其建立连接
Bindings 该属性是包含服务器分配套接字句柄的容器
CommandHandlers 指定服务器使用的命令句柄
CommandHandersEnabled 指定在对等线程连接的执行过程中是否使用CommandHandlers
DefauItPort 指定服务器与客户端连接所用的端口号
Greeting 指定监听线程接收到线程客户连接时,发送到对等方的标识信息
Intercept 该属性用来识别套接字数据的句柄。该属性允许程序开发者创建一个Tidlntercept的派生类对数据进行加密或解密、压缩或解压缩
IOHandler 指定监听线程所使用的IOHandler
ImplicitThreadMgr 指定是否使用隐含的线程管理者为服务器创建和释放线程
ListenQueue 指定系统允许未解决的连接尝试次数的最大值
MaxConnectionReply 指定连接到服务器的对等连接数超过MaxConnections属性值时使用的RFC消息响应
MaxConnections 指定服务器允许对等连接数的最大值
ReplyExceptionCode 指定在服务器上下文中出现异常时使用的数字结果代码
ReplyTexts 指定服务器实现中使用的协议响应
ReplyUndnownCommand 指定在客户接收到未知命令时使用的RFC响应
ReuseSocket 指定监听线程是否可以重用本地地址
TeminateWaitTiine 设置服务器终止线程时所等待的时间
ThreadClass 在为服务器创建新的线程时指定ThreadMgr使用的线程类型
ThreadMgr 给服务器指定一个线程管理者并为其提供扩展机制
Threads 它是一个容器,包含连接到服务器的所有等同线程。这些线程是由监听线程所产生的

# 21.1.1. 事件

事件 描述
OnAfterCommandHandler 使用CommandHandlers作为对等线程连接服务器后触发该事件
OnBeforeCommandHandler 使用CommandHandlers作为对等线程连接服务器前触发该事件
OnConnect 当有一个客户端与服务器连接时就会触发该事件
OnDisconnect 当有一个客户端与服务器断开连接时就会触发该事件
OnException 对等线程的执行过程中出现异常时触发该事件
OnExecute 与服务器与客户端建立一个新的连接时服务器会为这个连接建立一个线程,该事件就是在这个线程运行时被触发的
OnListenException 在监听线程的执行过程中出现异常时触发该事件
OnNoCommandHandler 无法定位命令句柄时触发该事件
OnStatus 当连接状态改变时触发该事件
ThreadMgr 连接线程管理者所产生的事件

# 22. TFlying 组件

  TFlying组件是配合Flying使用的组件,将必要的打印配置传递给该组件的属性,执行组件的方法即可将数据传递至打印服务器进行打印操作。在使用该组件前请先阅读Flying使用手册。

# 22.1. 属性

# 22.1.1. HTTPOptions

  使用 HTTP 打印模式时使用的属性选项。其中的相关属性项目说明如下:

属性 说明
Host Flying打印服务端地址
Port Flying HTTP/WebSocket 打印服务监听的端口号
SSL 是否启用SSL

# 22.1.2. MailOptions

  邮件相关设置选项。

属性 说明
Addr 接收邮箱的地址
Body 邮件的正文内容
Enable 是否启用邮件发送的功能
Subject 邮件的标题

# 22.1.3. MQTTOptions

  使用 MQTT 打印模式时使用的属性选项。其中的相关属性项目说明如下:

属性 说明
BrokerHost MQTT 服务端的地址
BrokerPort MQTT 服务端服务监听的端口号
Enabled 设置是否启用 MQTT 连接
PrintPwd 打印的密码
PrintTopic 打印服务订阅的主题名称
SSL 是否启用SSL
UserName MQTT 服务的用户名
UserPwd MQTT 服务的密码

# 22.1.4. PrintOptions

  打印服务的相关设置项。

属性 说明
Data 输入的打印数据,可通过 AddPrintData 方法自动生成
ExportFileType 设置导出的文件类型
ExportFileUrl 设置导出文件的URL
Preview 设置是否启用文件预览
PrintCopies 设置文件的打印份数
PrinterName 设置打印机的名称,可通过 GetPrinerList 方法获取打印机名称
PrintOffsetX 打印偏移 X
PrintOffsetY 打印偏移 Y
PrintType 设置打印模式,可选 HTTP、MQTT、WebSocket
ReportName 设置打印的报表模板的名称,可指定报表模板的文件名(*.fr3)或者报表模板的别名
ReportUrl 设置打印的报表的输出地址
ReportVersion 报表版本号
TaskID 打印的任务ID,设置此项可用于区分不同打印客户端的打印请求
Token 令牌,可用于打印客户端的身份认证

# 22.1.5. WebSocketOptions

  使用 WebSocket 进行打印时的设置项。

属性 说明
Authentication 是否启用 WebSocket 身份认证
Compressed 是否启用数据压缩
Enabled 是否启用 WebSocket 通讯连接
Host WebSocket 连接的主机的地址(Flying 服务端的地址)
Password WebSocket 使用身份认证连接时使用的密码
Port WebSocket 服务监听的端口号
SSL 是否启用 SSL 连接
SSLPort 启用SSL 连接时监听的 WebSocket 服务端口号
URL WebSocket 服务路径
UserName WebSocket 使用身份认证连接时使用的用户名称

# 22.2. 事件

# 22.2.1. OnReceivedError事件

procedure FlyingOnReceivedError(ASender: TObject; AError:String);
1

  当打印过程中出现错误时,可触发此事件。AError 中包含了错误的提示信息。

# 22.2.2. OnReceivedExport事件

procedure FlyingOnReceivedExport(ASender: TObject; AUrl:String);
1

  当打印包含输出的文件时触发事件,AUrl 中包含了输出文件的路径。

# 22.2.3. OnReceviedPrinter事件

procedure FlyingOnReceivedExport(ASender: TObject; APrinterList:String);
1

  当Flying 向客户端发送打印机列表的信息时触发事件。APrinterList 中包含了打印机列表等信息。

# 22.3. 方法

  • TFlying组件主要方法
方法 功能说明
GetPrinterList 获取Flying服务端可用的打印机列表
Print 打印报表
ReportPrint 直接打印
ReportPreview 报表预览
AddPrintData 打印数据组装

# 22.3.1. GetPrinterList 方法

procedure GetPrinterList;
1

  该组件用户获取当前Flying打印服务器中可用的打印机列表。可通过如下方式来获取打印机列表:

procedure TMyHandler.Button2Click;
//加载打印机
begin
 FThis.Flying1.GetPrinterList;
end;


procedure TMyHandler.Flying1ReceivedPrinter;
//获取打印机列表
begin
  FThis.ComboBoxPrinter.Items.CommaText := APrinterList;
  if FThis.ComboBoxPrinter.Items.Count <> 0  Then
  FThis.ComboBoxPrinter.ItemIndex := 0;
  FThis.ComboBoxPrinter.DroppedDown := True;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 22.3.2. ReportPrint方法

procedure ReportPrint;
1

  ReportPrint方法是呼叫Flying,进行报表打印。

//Pirnt
Procedure btnPrintOnClick(Sender: TObject);
Begin
  if FThis.Combobox1.Count = 0 Then exit;
  FThis.Flying1.PrinterName := FThis.Combobox1.Items[FThis.Combobox1.ItemIndex];//读取打印机名称
  FThis.RFDataSet1.openData;//打开数据
  FThis.Flying1.PrintOptions.Data.Clear;
  FThis.Flying1.AddPrintData(FThis.RFDataSet1,'A');//数据集转Json
  FThis.Flying1.ReportPrint;//打印报表
End;

procedure TMyHandler.Flying1ReceivedExport;
//输出
var
  F: TBaseForm;
begin
  if FThis.SwitchButton1.IsChecked then
  begin
    F := paxfunc.OpenForm('Form1');
    F.TagObject := FThis;
    TChrome(F.FindComponent('Chrome1')).Active := True;
    TChrome(F.FindComponent('Chrome1')).Uri := AUrl;
  end; 
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 22.3.3. ReportPreview方法

procedure ReportPreview;
1

  ReportPreview方法是呼叫Flying中间件,进行报表输出,并回传到客户端显示。

//Pirnt
Procedure btnPrintOnClick(Sender: TObject);
Begin
  if FThis.Combobox1.Count = 0 Then exit;
  FThis.Flying1.PrinterName := FThis.Combobox1.Items[FThis.Combobox1.ItemIndex];//读取打印机名称
  FThis.RFDataSet1.openData;//打开数据
  FThis.Flying1.PrintOptions.Data.Clear;
  FThis.Flying1.AddPrintData(FThis.RFDataSet1,'A');//数据集转Json
  FThis.Flying1.ReportPreview;//报表预览
  
procedure TMyHandler.Flying1ReceivedExport;
//输出
var
  F: TBaseForm;
begin
  if FThis.SwitchButton1.IsChecked then
  begin
    F := paxfunc.OpenForm('Form1');
    F.TagObject := FThis;
    TChrome(F.FindComponent('Chrome1')).Active := True;
    TChrome(F.FindComponent('Chrome1')).Uri := AUrl;
  end; 
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 22.3.4. PrintPdf方法

procedure PrintPdf(AUrl: String);
1

  从网络地址获取 PDF 文件并发送至 Flying 服务端执行打印。

# 22.3.5. PrintPic方法

procedure PrintPic(AUrl: String);
1

  从网络地址获取图片文件并发送至 Flying 服务端执行打印。

# 23. TPDFViewer 组件

  该组件用于显示对应路径下的pdf文件。

# 23.1. 方法

# 23.1.1. LoadFromFile 方法

  打开PDF文件以显示。

  FThis.PDFViewer1.LoadFromFile('test.pdf');
1

# 24. TSwitchButton组件

  表示用于应用程序的可切换图片按钮。

  每当您需要为用户提供开关状态时,请使用TSwitchButton。

# 24.1. 属性(Properties)

  • TSwitchButton组件主要属性
属性 功能说明
IsChecked 指定按钮切换状态
Bitmap 当前按钮所显示的状态图片
SwitchOffBmp 指定按钮关闭时的状态图片
SwitchOffBmp 指定按钮打开时的状态图片

# 24.1.1. IsChecked属性

property IsChecked: Boolean read FIsChecked write SetIsChecked default True;
1

  指定切换图片按钮显示代表不同状态的图片。

  IsChecked=True为显示SwitchOffBmp图片,False时显示SwithchOnBmp图片。

# 24.1.2. Bitmap属性

property Bitmap: TBitmap read GetBitmap write SetBitmap;
1

  当前按钮所显示的状态图片。

# 24.1.3. SwitchOffBmp属性

property SwitchOffBmp: TBitmap read GetBitmap write SetBitmap;
1

  指定按钮关闭时的状态图片。

# 24.1.4. SwitchOffBmp属性

property SwitchOffBmp: TBitmap read GetBitmap write SetBitmap;
1

  指定按钮打开时的状态图片。

# 24.2. 事件(Events)

  • TfxSwitchButton组件主要事件
事件 何时触发
OnSwitch 当Switch的IsChecked的值发生变化时触发

# 24.2.1. OnSwitch事件

property OnSwitch: TNotifyEvent read GetOnSwitch write SetOnSwitch;
1

  TSwitchButton更改IsChecked的值时调用的事件处理程序

# 24.3. 示例(Code)

  TSwitchButton更改IsChecked的值时处理程序。

Procedure fxSwitch1OnSwitch(Sender: TObject);
Begin
  if fxSwitch1.IsChecked Then
     Showmessage('Switch On.')
  else
     Showmessage('Switch Off.');
End;
1
2
3
4
5
6
7
系统控件
对话框控件

← 系统控件 对话框控件→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式