Object Pascal窗体型组件
在使用Object Pascal开发图形界面程序时,需要使用到窗体与组件的各种功能
IDE的选择:可以使用Delphi
或者是开源的Lazarus
(我们这里使用 lazarus )
控件属性 | 功能 |
---|
Action | 用来设置与菜单项相关的动作对象,通过动作列表编辑器来设置,类似于相同方法的封装 |
Align | 用来决定组件在窗体或上一级组件中的位置和尺寸,它有9个属性值,选择这些不同的属性值可以让组件总位于窗体的顶部、底部、左边或是右边,默认为alNone。其中alClient属性值可以让组件总是填满窗体或上一级组件 |
Autosize | 用于决定组件是否随其所包含内容(文件或是图片)的大小而调整尺寸 |
Left | 和Top属性指定该组件在窗体中的左上顶点的坐标值,Left为x坐标的值,Top为y坐标的值 |
Name | 每个组件都具有的属性,用来定义组件对象的名字,一个应用程序中组件的名字是不能重复的 |
Caption | 设置组件的标题 |
Color | 设置组件的颜色 |
Cursor | 用于设定当鼠标的指针落入该组件的区域时鼠标指针的形状 |
Font | 用于设置组件上所显示的文字的字体 |
Height | 和Width属性用于设置组件的高度和宽度 |
Hint | 用于设置鼠标指针在组件上停留时显示指示信息的内容,ShowHint属性,用于指定鼠标指针在该组件停留时是否指标信息 |
ParentColor ParentFont ParentShowHint | 当ParentColor属性、ParentFont属性、ParentShowHint属性值设置为True时,组件使用它的上一级组件的同一属性设置,这样可以使程序保持风格一致 |
Text | 用于指定文本类组件显示的文本,类似于Caption属性 |
Visible | 决定组件是否可见。当设置为True时,在运行时可以看到该组件,为False时则相反 |
控件事件 | 功能 |
---|
PopupMenu | 用来绑定鼠标邮件点击控件时出现的菜单 |
OnClick | 单击某组件触发该事件 |
OnDblClick | 双击某组件触发该事件 |
OnEnter OnExit | 当通过鼠标单击组件或使用Tab建跳转到组件上时,该组件获得焦点,此时该组件焦点状态转为非焦点状态时将触发OnExit事件 |
OnMouseDown OnMouseMove OnmouseUp | 这是响应鼠标的一组事件,其中当鼠标在组件上被按下触发OnMouseDown事件;当鼠标在组件 的显示区域内移动时触发OnMouseMove事件;当释放了在组件区域内按下的鼠标键时触发OnMouseUp事件 |
OnKeyDown OnKeyUp OnkeyPress | 这是响应键盘的一组事件,OnKeyDown键盘按下触发的事件,OnKeyUp键盘抬起触发的事件,OnkeyPress键盘完整的触发一次按下抬起产生的事件 |
Object Pascal文本型组件
- Lable
- StaticText
- TabControl
- PageControl
StaticText 和 Lable 基本相同,唯一不同的是,StaticText组件是窗口型文体组件,具有窗口句柄
TabControl 和 PageControl,TabControl组件是一个容器,它本身可以包容其他的组件
注:TabControl多个标签共享着一个界面
TabControl一些重要的属性
Tabs
、TabWidth
、Style
、TabPosition
、TabIndex
、HotTrack
、MultiLine
、MultiSelect
(需要配合Style)
TabControl属性 | 功能 |
---|
Tabs | 用来设置每一个标签的名称 |
TabWidth | 用来设置每一个标签的宽度 |
Style | 用来设置标签的按钮的风格 |
TabPosition | 用来设置标签按钮所在的位置,默认上方 |
TabIndex | 用来设置默认展示从第几个标签 |
HotTrack | 当鼠标移动到对应的标签上时,标签会有对应鼠标移动到上方的效果 |
MultiLine | 当标签宽度不够时,会以竖排来展示 |
MultiSelect | 配置style,可以设置为多选 |
PageControl
注:PageControl 每个标签页面都是独立的
Object Pascal按钮型组件
- Button
- BitBtn
- SpeedButton
- RadioButton
- CheckBox
区别一:Button不能显示位图,而BitBtn和SpeedButton可以
区别二:Button和BitBtn有焦点,而SpeedButton没有
BitBtn属性 | 功能 |
---|
Kind | 可以设置对应按钮上的图标 (SpeedButton也具有) |
Layout | 设置按钮上的图标位置(SpeedButton也具有) |
Margin | 设置边框距离(SpeedButton也具有) |
Spacing | 设置图标/图片与文字之间的间距(SpeedButton也具有) |
CheckBox 属性 | 功能 |
---|
Checked | CheckBox和RadioButton中被选中的选项(RadioButton也具有) |
State | cbUnChecked未选中,cbChecked选中,cbGrayed变灰选中 |
Object Pascal编辑型组件
- Edit(处理的是单行的文本)
- MaskEdit
- Memo
- RichEdit
- MaskEdit(掩码编辑框)
- Memo(处理的是多行的文本)
- RichEdit
Edit属性 | 功能 |
---|
PasswordChar | 默认时该属性为#0,没有掩码,可以设置一个掩码比如 “*” |
MaxLength | 确定文体框最多可以输入的字符数,默认为0,表示可以输入任意多的字符 |
ReadOnly | 确定程序运行时,用户是否可以改变文体框中的内容 |
AutoSelect | 确定当文本框获得输入焦点时,文体框中的文字是否自动被选中 |
Edit事件 | 功能 |
---|
OnEnter | 当文本框获得输入焦点时,触发该事件 |
OnChange | 当文本框中的内容怪发生变化时,触发该事件 |
OnkeyPress | 当文本框中按下一个按键时,触发该事件 |
Memo属性 | 功能 |
---|
Lines | 是一个字符串数组,表示Memo中以行为单位的文本 |
Modified | 确定文本是否被改动 |
ScrollBars | 决定Memo是否具有滚动条和滚动条的类型 |
WordWrap | 设置文本是否可以换行 |
WantReturns | 设置Memo编辑时是否能插入回车符 |
WantTabs | 设置Memo编辑时是否能插入Tab |
Object Pascal列表框组件
ListBox属性 | 功能 |
---|
Items | 该属性指出在列表框中显示的所有列表项 |
Multiselect | 该属性决定用户是否从列表框中一次做出多项选择 |
ItemIndex | 该属性指出在列表框中被选中的那个项目的索引号 |
Selected | 该属性检测在列表框中选定的项目是否被选择 |
stored | 该属性决定是否自动为用户按字母进行排序 |
ComboBox属性 | 功能 |
---|
IntemIndex | 该属性指定组合框中被选择的项目 |
DropDownCount | 该属性控制下拉组合框时弹出的项目条数,超出该属性规定的项目数是,自动出现垂直滚动条 |
Style | csDropDown(可以输入,也可以选择),csSimple(只能输入,相当于一个编辑框),csDropDownLits(不能输入,只能在列表中选择),csOwnerDrawFixed,csOwnerDrawVariable |
Object Pascal滑块型组件
Scrollbar属性 | 功能 |
---|
Kind | sbHorizontal:滚动条是水平方向的;sbVertical:滚动条是垂直方向的 |
Max/Min | 属性用来确定滚动条表示数值的范围,Max是最大值,Min是最小值,数据类型为32位有符号整数类型 |
LargeChange | 用来设置鼠标在滚动条上每次PageUp和PageDown时滚动的距离 |
SmallChange | 用来设置单击滚动条两端的上下箭头时,滚动条滚动的距离 |
Position | 用来设置滚动方块在滚动条上的位置,取值范围为Max到Min之间 |
TrackBar属性 | 功能 |
---|
Frequency | 设置跟踪条两个刻度的间隔值,默认为1 |
Onentation | 设置跟踪条是水平还是垂直放置 |
LineSize | 设置当用户按下键盘的方向键时滑尺每次移动的步长 |
PageSize | 设置当用户按下键盘的PageUp或PageDown键时滑尺每次移动的步长 |
SliderVisible | 设置滑尺是否隐藏 |
Object Pascal容器型组件
- Panel
- GroupBox
- ScrollBox
- GroupBox
- RadioGroup
- ScrollBox
- StatusBar
Panel属性 | 功能 |
---|
Align | 用于设置面板组件在窗体中的放置位置 |
BevelInner | 用于设置面板的内容的内部斜面样式 |
BevelOuter | 用于设置面板的斜面形式 |
BevelWidth | 面板的斜面宽度 |
BorderStyle | 面板的边框样式 |
BorderWidth | 面板的边框宽度 |
Enbled | 用于设置面板中的所有子组件是允许还是被禁用 |
ControlCount | 返回面板中子组件的数目 |