窗口控件
# Smart控件说明-Windows(窗口)
视窗空间盘区域包含用于窗口显示补充的布局控件以及一些基础的设定工具控件。
# 1. TTabControl组件
TTabControl组件使用起来,根本不会使程序简单化,所以不提倡使用此组件,可以用TPageControl组件代替。
与TPageControl组件不同的是,虽然Tab组件上可以有一组按钮,但它们的客户区是公用的,当用户选择其中某个按钮时,将触发OnChange事件。在处理OnChange事件的句柄中,必须自己定义怎样操纵客户区上的内容。例如,可以用Tab组件做一个图片管理器,用户选择不同的按钮,Tab按钮的客户区就显示不同的内容(用户必须用代码实现)。
# 1.1. 属性
- TTabControl组件主要属性
属性 | 功能说明 |
---|---|
DisplayRect | 指定选项卡组件客户区的边框 |
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DockSite | 使用该属性可确定组件是否为拖动和停靠操作目标 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
HotTrack | 确定鼠标下方选项卡上的标签是否自动突出显示,设置该属性为True,为用户单击选择的标签提供视觉上的反应 |
Images | 指定在选项卡中绘制的图像 |
MultiLine | 确定选项卡是否可以显示在多行上 |
MultiSelect | 指定是否可以选择多个选项卡 |
OwnerDraw | 指定选项卡组件是否处理自己的绘制 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
RaggedRight | 指定是否拉伸选项卡以填充组件的宽度 |
ScrollOpposite | 确定如何在多行选项卡组件中滚动选项卡行 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Style | 指定选项卡组件的样式 |
TabHeight | 设置该属性可控制组件客户区域上显示标签的高度,这是单个标签的像素高度。如果设置为0,标签会自动改变其大小以容纳文本 |
TabIndex | 标识选项卡组件上已选定的选项卡 |
TabOrder | 确定父组件的切换顺序 |
TabPosition | 确定选项卡是显示在顶部还是底部 |
Tabs | 包含标签选项卡组件选项卡的文本字符串列表 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
TabWidth | 设置该属性可控制组件客户区域上显示标签的宽度,这是单个标签的像素宽度。如果将TabWidth设置为0,标签会自动改变其大小以容纳文本 |
Visible | 确定组件是否可见 |
下面介绍程序中TTabControl组件经常用的属性。
# 1.1.1. Images属性
在Images属性中与ImageList组件关联,可以为每个标签设置一个图标。主要方法是将一个ImageList组件中调入n个图片,然后将TTabControl组件的Images属性设置为拥有图片列表的ImageList组件,就可以看见TTabControl组件的标签页上有图标显示。
# 1.1.2. Multiline属性
此属性用于设置TTabControl组件标签按钮的显示位置。True值表示按钮可以自动分成几行显示;False值表示按钮显示在一行,如果一行不能显示全部按钮,则在按钮右侧显示两个可以左右移动标签按钮的箭头状按钮。
# 1.1.3. MultiSelect属性
此属性用于设置TTabControl组件是否可以选择多个标签按钮。MultiSelect属性必须与Style属性配合使用,当MultiSelect属性为True值时,并且Style属性的取值不为tsTabs值时,用户在按下Ctrl键的情况下单击标签按钮时可以选择多个;当MultiSelect属性为False值时,不管Style属性为何值,只能选择一个标签按钮。
# 1.1.4. ScrollOpposite属性
此属性决定用户在单击另一行上的按钮后,前一行移到最下面或上面一行。在Multiline属性为False值时,并且有多行按钮行显示的前提下:True值将位于当前行下面的所有按钮行移动到最下面;False值是将当前选中的按钮行移动到与用户区相临的位置。
# 1.1.5. Style属性
改变Styles属性,可以将标签的显示方式设置为标签方式(tsTabs)、按钮方式(tsButtons)和平板按钮方式(tsFlatButtons)。
# 1.1.6. TabIndex属性
此属性是Tab组件上的每个按钮的序号,可以用来设置Tab组件上选中的按钮或获取已经等距的按钮。
# 1.1.7. TabPosition属性
此属性可以设置Tab组件的标签按钮显示的位置,TabPosition属性的设置可能会与Style属性的设置产生冲突,在后面的实例中将提到如何解决此问题。它有如下4个选项。
- tpBottom:在Tab组件的下部显示标签按钮。
- tpLeft:在Tab组件的左部显示标签按钮。
- tpRight:在Tab组件的右部显示标签按钮。
- tpTop:在Tab组件的上部显示标签按钮。
# 1.1.8. Tabs属性
通过修改Tabs属性,可以手工地添加标签的个数。其中在Tabs属性的编辑器中,每一行内容可以形成一个标签页,可以利用一个TStringList类型的变量对此属性进行设置。
# 1.2. 事件
- TTabControl组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 选择新选项卡后触发该事件 |
OnChanging | 在选择新选项卡之前立即触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDockDrop | 当另一个组件停靠到组件时触发该事件 |
OnDockOver | 在组件上拖动另一个组件时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnDrawTab | 即将绘制选项卡时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnGetImageIndex | 选项卡即将显示其关联图像时触发该事件 |
OnGetSiteInfo | 返回组件的停靠信息 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnResize | 在调整组件大小后立即触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
OnUnDock | 当应用程序尝试取消停靠到窗口组件的组件时触发该事件 |
下面介绍程序中TTabControl组件的常用事件。
当用户按下了另一个按钮时将触发OnChanging事件。在用户按下了其他按钮并且输入焦点已切换到新的按钮上之后,将触发OnChange事件。
OnChanging事件与OnChange事件及功能基本相同,只是OnChanging事件发生在OnChange事件的前面。如果需要在按下某个按钮时做相应的处理,可以在这两个事件的任意一个中添加执行代码,并利用TabIndex属性获得按下的按钮。
# 1.3. 方法
- TTabControl组件主要方法列表
方法 | 功能描述 |
---|---|
RowCount | 返回Tab组件上的按钮行数 |
ScrollTabs | 相当于用户单击箭头来滚动 |
下面介绍程序中TTabControl组件的常用方法。
RowCount方法 此方法用来返回Tab组件上按钮的行数,返回值为Integer类型,可以将此值赋给一个Integer类型的变量。
ScrollTabs方法 此方法可以用来代替用户单击箭头滚动的动作。方法中包含一个Delta参数,其取值类型为Integer,可以用此参数来设置移动的位置,正数表示向后移动,负数表示向前移动,0表示不移动。
# 2. TPageControl组件
TPageControl组件主要用于程序的选项窗口,因为选项窗口拥有很多方面的设置。在TPageControl组件上单击鼠标右键,在弹出式菜单中选中“NewPage”菜单命令,将会增加一个新的页面。对于TPageControl组件,利用鼠标左键单击标签与单击页面位置选中的对象是不同的。如果单击标签,则选中了整个组件,同时设置当前激活页,这时按下Delete键,会把整个组件删除。如果单击页面位置,则选中了当前激活页的页面,这时按下Delete键,只删除当前选中的页面。在TPageControl组件的不同页面中,可以加入不同的组件。
# 2.1. 属性
- TPageControl组件主要属性
属性 | 功能说明 |
---|---|
ActivePageIndex | 使用该属性可获得或设置活动页的索引 |
PageCount | 表示TPageControl对象中的页数 |
Pages | 列出TPageControl中的所有页面 |
ActivePage | 读取该属性的值可确定用户所选页 |
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 对齐方式不改变组件包含的数量、日期、事件和当前数 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DockSite | 使用该属性可确定组件是否为拖动和停靠操作目标 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
HotTrack | 确定鼠标下方选项卡上的标签是否自动突出显示,设置该属性为True,为用户单击选择的标签提供视觉上的反应 |
Images | 指定在选项卡中绘制的图像 |
MultiLine | 使用该属性可确定如何显示标签(多行显示) |
OwnerDraw | 确定标签控制组件是否自己处理绘制 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
RaggedRight | 确定是否拉伸选项卡行以填充组件的宽度 |
ScrollOpposite | 设置该属性可确定当用户在其他行选择标签时,应当将多行标签控制组件中前面一行的标签移到何处 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Style | 使用该属性可确定标签的外观,可作为笔记本标签或按钮显示 |
TabHeight | 设置该属性可控制组件客户区域上显示标签的高度,这是单个标签的像素高度。如果设置为0,标签会自动改变其大小以容纳文本 |
TabIndex | 读取该属性可确定用户显示的标签,这个属性是保存在Tabs属性中的标签列表中的标签索引 |
TabOrder | 确定父组件的切换顺序 |
TabPosition | 确定选项卡是显示在顶部还是底部 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
TabWidth | 设置该属性可控制组件客户区域上显示标签的宽度,这是单个标签的像素宽度。如果将TabWidth设置为0,标签会自动改变其大小以容纳文本 |
Visible | 确定组件是否可见 |
下面介绍程序中TPageControl组件常用的属性。
# 2.1.1. ActivePage属性
property ActivePage: TTabSheet;
在选中整个组件的情况下,改变ActivePage属性,可以改变当前的激活页。
- 应用
设置该属性可使所选页显示在最前面。
procedure TMyHandler.BUTTON1CLICK;
//点击按钮加载页面信息
var
i: Integer;
begin
for i := 0 to FThis.PageControl1.PageCount - 1 do
FThis.ComboBox1.Items.AddObject(FThis.PageControl1.Pages[i].Name , FThis.PageControl1.Pages[i]);
FThis.ComboBox1.ItemIndex := 0;
end;
procedure TMyHandler.COMBOBOX1CHANGE;
//选择需要的页面进行显示
begin
if (Sender is TComboBox) then
with(Sender as TComboBox) do
FThis.PageControl1.ActivePage := TTabSheet(Items.Objects[ItemIndex]);
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 2.1.2. ActivePageIndex属性
property ActivePagelndex: Integer;
使用该属性可获得或设置活动页的索引。其值大于0或小于PageCount-1,超出时将导致页面组件中没有活动页。改变其值即改变ActivePage属性,反之亦然。如果无活动页,该属性值为-1。
# 2.1.3. PageCount属性
property PageCount: Integer;
使用该属性可确定Page属性中列出的页数。如果MultiLine属性为False,则并不是所有页面都有用户可视的标签。
# 2.1.4. Pages属性
property Pages[Index: Integer]: TTabSheet;
该属性为只读,列出TPageControl中的所有页,用其可直接存取在页面组件中指定的页。
# 2.2. 事件
- TPageControl组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 选择新选项卡后触发该事件 |
OnChanging | 在选择新选项卡时立即触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDockDrop | 当另一个组件停靠到组件时触发该事件 |
OnDockOver | 当另一个组件拖放至该组件时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnDrawTab | 即将绘制选项卡时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnGetImageIndex | 选项卡显示其关联图像时触发该事件 |
OnGetSiteInfo | 返回组件的停靠信息 |
OnMouseActivate | 当用户使用鼠标指针在组件上按下鼠标按钮并且父窗体未激活时触发该事件 |
OnMouseDown | 当用户使用鼠标指针在组件上按下鼠标按钮时触发该事件 |
OnMouseEnter | 用户将鼠标移动到组件中时触发该事件 |
OnMouseLeave | 用户将鼠标移出组件之外时触发该事件 |
OnMouseMove | 当用户在鼠标指针悬停在组件上时移动鼠标指针时触发该事件 |
OnMouseUp | 当用户释放用鼠标指针在组件上按下的鼠标按钮时触发该事件 |
OnResize | 在调整组件大小后立即触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
OnUnDock | 当应用程序尝试取消停靠到窗口组件的组件时触发该事件 |
下面介绍程序中TPageControl组件的常用事件。
- 当用户按下了另一个Page页时将触发OnChanging事件。在用户按下了其他Page页并且输入焦点已切换到新的Page页上之后,将触发OnChange事件。
- OnChanging事件与OnChange事件及功能基本相同,只是OnChanging事件发生在OnChange事件的前面。如果需要在按下某个按钮时做相应的处理,可以在这两个事件的任意一个中添加执行代码,并利用PageIndex属性获得按下的按钮。
# 2.3. 方法
- TPageControl组件主要方法列表
方法 | 功能描述 |
---|---|
FindNextPage | 此函数返回CurPage参数指定的页的相邻页 |
SelectNextPage | 此过程用于选择当前页的前一页或下一页 |
下面介绍程序中TPageControl组件的常用方法。
# 2.3.1. FindNextPage方法
function FindNextPage(CurPage: TTabSheet; GoForward,CheckTabVisible: Boolean): TTabSheet;
此方法可以返回CurPage参数指定页的相邻页,它包含3个参数。
CurPage参数:取值为TTabSheet类型,用于指定TTabSheet。
GoForward参数:取值为Boolean类型,True值取下一页,False值取上一页。
CheckTabVisible参数:取值为Boolean类型,True值为检查TTabSheet的TabVisible属性,如果TabVisible属性为False,则不显示此页而直接跳至下一页或上一页;如果CheckTabVisible参数为False,则不检查TTabSheet的TabVisible属性,即不管TabVisible属性为True还是False,都显示这一页的内容。
应用
若GoForward参数为True,则返回页面组件中CurPage参数指定的下一页;否则返回前一 页。如果CurPage不是页面组件中的一页,且GoForward为True,则返回第1页;GoForward 为False,返回最后一页;如果GoForward为True,且CurPage为页面组件的最后一页。CheckTabVisible为True,该方法返回用TabVisible属性设置为True的下一页;否则返回包括用 TabVisible属性设置为False的下一页。
procedure TMyHandler.PAGECONTROL1CHANGE;
//页面发生变化时触发该事件
var
PrevCaption,NextCaption: ShortString;
begin
with (Sender as TPageControl) do
begin
NextCaption := FindNextPage(ActivePage, True, False).Caption;
PrevCaption := FindNextPage(ActivePage, False, False).Caption;
end;
ShowMessage('Previous tab Caption:''' + PrevCaption + ''' Next tab Caption: ''' + NextCaption + '''');
end;
2
3
4
5
6
7
8
9
10
11
12
# 2.3.2. SelectNextPage方法
procedure SelectNextPage(GoForward: Boolean; CheckTabVisible:Boolean = True);
此方法用于选择当前页的上一页或下一页,与FindNextPage方法类似,只是其参数中没有CurPage参数,只有GoForward参数和CheckTabVisible参数,取值及功能请参见FindNextPage方法的说明。 下面的代码是将一个名称为PageControl1的TPageControl组件顺序往前移动一页,并且检测TTabSheet的TabVisible属性:
FThis.PageControl.SelectNextPage(False,True);
# 3. TImageList组件
TImageList组件用于存储和管理相同大小的一组图像,其中的每个图像可以通过图像索引访问
# 3.1. 属性
- TImageList组件主要属性
属性 | 功能说明 |
---|---|
AllocBy | 当TImageList组件需要为新添加的图像分配控件时,设置图像列表添加图像的数量 |
BkColor | 此属性用于设置图像的背景颜色 |
BlendColor | 此属性用于设置图形的前景颜色 |
Count | 此属性用于返回图像列表中图像的个数 |
DrawingStyle | 此属性用于设置图形显示的风格 |
Handle | 此属性用于返回Windows图像列表的句柄 |
Height | 此属性用于设置图形的像素高度 |
Width | 此属性用于设置图像的宽度 |
ImageType | 此属性用于设置图形的类型(绘画时是否使用掩码) |
Masked | 图形列表中允许有透明的图形 |
下面介绍程序中TImageList组件的常用属性。
# 3.1.1. BlendColor属性
property BlendColor: TColor;
BlendColor属性用于确定图像的前景颜色。当图像列表的DrawingStyle属性为dsFocus或 dsSelected时,设置BlendColor属性能够改变图像的前景颜色。
# 3.1.2. BkColor属性
property BkColor: TColor;
BkColor属性用于确定图像的背景颜色。当BkColor属性为clNone时,图像是透明的,否 则图像的背景采用BkColor属性值。BkColor属性只有在Masked属性为True时才起作用。
# 3.1.3. Count属性
property Count: Integer;
Count属性用于显示图像列表中的图像数量。使用该属性能够遍历图像列表中的图像(通过 GetBitmap、Getlcon 等方法)。
# 3.1.4. DrawingStyle属性
property DrawingStyle: TDrawingStyle;
此属性用于设置图形显示的风格,他有如下4个可选值。
- dsFocused:表示当前图像有输入焦点。
- dsSelected:表示当前图像被选择。
- dsNormal:表示当前图像处于通常状态。
- dsTransparent:表示当前图像是透明的。
# 3.1.5. Height属性和Width属性
property Height: Integer;
property Width: Integer;
2
这连个属性用来指定图形的高度和宽度。列入喜爱菜单中引用的图像进场将这个连个值设置为16(默认值),而在工具栏中是用时可以将这个连个属性设置为32,这样就可以是在工具栏中显示的图像比较大。当然这个两个值可以根据需要去不同的值。
# 3.1.6. ImageType属性
property ImageType: TImageType;
此属性用于设置图像的类型,它有如下两个可选项
- itImage表示普通的图像。
- itmask表示画的是图像的掩码。
# 3.2. 方法
- TImageList组件主要方法列表
方法 | 功能描述 |
---|---|
Add | 此方法想图像列表中加入一个图像及其掩码,并返回位图在图像列表中的索引号 |
AddIcon | 此方法想图像列表中加入一个图标,并返回图标在图像列表中的索引号 |
AddImages | 此方法用于把另一个TImageList组件的图像加到图像列表中 |
Addmasked | 此方法向图像列表中加入一个图像 |
Assign | 此方法用Source参数指定的另一个图像列表取代自己 |
Clear | 清空图像列表中的所有图像 |
CreateSize | 创建一个图像列表,并指定图像的高度和宽度 |
Delete | 此方法用于删除图像列表中的一个图像 |
Draw | 此方法吧图像列表中的指定序号的图像画到指定画布的指定的位置 |
DrawOverLay | 此方法用于把图像列表中的指定序号的图像画到指定画布的指定位置 |
FileLoad | 此方法用于从一个资源文件中读取图像到图像列表中 |
GetBitmap | 此方法吧指定序号的图像写到Image参数指定的位图中 |
GetIcon | 此方法是把指定序号的图像写到Image参数指定的图像中 |
Insert | 此方法吧一个图标查到图像列表的指定序号之后 |
InserIcon | 此方法是吧一个图标查到图像列表的指定序号之后 |
InsertMasked | 此方法吧一个位图查到指定的序号之后 |
Move | 此方法用于把图像列表中的一个图像移动到另一个位置 |
Replace | 此方法用于一个新的位图机器掩码代替图像列表中指定序号的图像 |
ReplanceIcon | 此方法用一个新的图标替换图像列表中指定序号的图像 |
TeplaceMasked | 此方法用一个新的位图代替图像列表中指定序号的图像 |
ResourceLoad | 此方法从一个指定的资源文件中取出指定类型的图像到图像列表中 |
下面介绍程序中TImageList组件常用的方法。
# 3.2.1. Add方法
function Add(Image: TBitmap; Mask: TBitmap): Integer;
此方法向图像列表中加入一个位图及其掩码,并返回位图在图形列表中的索引号。他有两个属性为TBitMap类型的参数
- Image加入的位图
- Mask位图的掩码
# 3.2.2. AddIcon方法*
function Addlcon(Image: TIcon): Integer;
Addlcon方法用于向图像列表中添加一个图标,如果操作成功,则返回添加的图标索引, 否则返回-1。
# 3.2.3. AddImages方法
procedure AddImages(Value: TCustomImageList);
Addlmages方法用于从另一个图像列表中添加图像。AddImages方法中的Value参数是TCusTomImageList类型,例如用下面的代码可以将两个TImageList组件的图像合并到一个图像列表中。
FThis.ImageList1.Addimages(FThis.Imagelist2);//将ImageList2d图像添加到ImageList1中
# 3.2.4. Assign方法
procedure Assign(Source: TPersistent); override;
Assign方法用于从一个图像列表中向另一个图像列表中复制信息。使用该方法能够从另一个对象中复制信息到图像列表中。如果参数Source为一个图像列表,Assign操作将丢弃,前图像列表中的所有信息,用Source中的信息替换;如果Source为Nil,则淸空图像列表中的所有图像。下面的代码演示了通过Assign方法克隆ImageList1组件。
FThis.ImageList2.Assign(FThis.ImageListl);
# 3.2.5. Clear方法
procedure Clear;
此方法用于清空图像列表中的所有图像。例如ImageList1图像列表中的所有图像,可以用下面的代码实现:
FThis.ImageList1.Clear;
# 3.2.6. CreatSize方法
constructor CreateSize(AWidth: Integer; AHeight: Integer);
此方法实际是TImageList的构造。用于创建一个图像列表,并指定图像列表中图像的高度和宽度。GreateSize方法中有如下两个参数:
- AWidth图像的宽度
- AHeight图像的高度
在一个已经引用图像的列表中,可以利用此方法重新指定图像的宽度和高度。
# 3.2.7. Delete方法
procedure Delete(Index: Integer);
Delete方法用于从图像列表中删除指定的图像。在程序中,调用Delete方法一次能够删除 一个图像。
FThis.ImageList1.Delete(0);
# 3.2.8. FileLoad方法
function FileLoad(ResType: TResType; const Name: string; MaskColor: TColor): Boolean;
FileLoad方法用于加载图像到图像列表中。利用FileLoad方法能够从磁盘文件中加载图像到图像列表中,同时可以指定图像的透明颜色。
- ResType:标识加载的图像类型,可以是位图、鼠标指针或图标。
- Name:标识图像文件的名称。
- MaskColor:设置图像的背景颜色。如果方法执行成功,返回值为True,否则为False。
if FThis.ImageList1.FileLoad(rtBitmap,'c:\temp.bmp',clwhite) then
FThis.ImageList1.Draw(Canvas,0,0,0);
2
# 3.2.9. Insertlcon方法
procedure Insertlcon(lndex: Integer; Image: TIcon);
Insertlcon方法用于在图像列表中的指定位置插入一个图标。
- Index:标识插入点。
- Image:待插入的图标。
# 3.2.10. Move方法
procedure Move(CurIndex, Newlndex: Integer);
Move方法用于将所标识的图像移动到指定的位罝。
- Curlndex:标识图像的原位置。
- Newlndex:标识图像的新位置。
使用Move方法能够将图像列表中的某个图像移动到新的位置。下面的代码是将图像列表中的第一个图像(Index为0)移动到第二个位置(Index为1)。
FThis.ImageList1.Move(0,1);
# 4. TRichEdit组件
使用TRichEdit组件,对象可在窗体中放置一个标准的允许用户输入包含字体属性和段落格式文本的文本编辑组件。该组件提供了多种属性和方法用来输入或编辑文本,但不提供用户使用这些格式选项时的接口组件。应用程序必须编辑实现用户界面的组件以实现该对象的文本编辑功能。
# 4.1. 属性
- TRichEdit组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Alignment | 确定文本在文本编辑组件中的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格,即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内和内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 为组件指定双向模式,控制文本的顺序,垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 使用该属性可影响编辑组件的客户区域突出效果,其取值为bsSingle时,编辑组件的客户区域有一个单线边框;为bsNone时,无边框 |
BorderWidth | 使用该属性可获得或设置组件的边框宽度 |
Color | 指定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DefAttributes | 使用该属性可获得或设置编辑组件中新插入文本时默认字符的格式 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Font | 确定组件内显示的文本字体 |
HideScrollBars | False:编辑组件内容改变时,可放置滚动条闪烁。ScrollBars属性设置为ssNone时,该属性不执行操作 |
HideSelection | True:编辑组件有焦点时,文本选择的部分有视觉提示;False:即使编辑组件无焦点,文本选择的部分仍然有视觉反应 |
ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
ImeName | 设置该属性可配置IME名称 |
Lines | 使用该方法可操作编辑组件中单行的文本 |
MaxLength | 利用该属性可限制用户输入的字符数,为0表示字符的长度没有限制 |
ParentBiDiMode | 获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentFont | 确定组件是否使用父组件的Font |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PlainText | True:忽略RTF文本中的信息编码。 False:将RTF文本中的格式信息编辑保存或流出到文件 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
ReadOnly | 确定用户是否可以更改编辑组件的文本 |
ScrollBars | 确定是否为多行文本编辑器添加水平或垂直的滚动条 |
SetAttributes | 使用该属性可获得或设置当前选择文本的字体格式 |
SetLength | 使用该属性可确定文本的字符长度 |
SelStart | 读取该属性可确定第1个被选字符的位置,0表示第1个字符 |
SelText | 设置该属性可用新的字符串代替选择的文本 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Visible | 确定组件是否可见 |
WantReturns | 确定用户是否可以在文本中插入返回字符 |
WantTabs | 确定用户是否可以在文本中插入制表符 |
WordWrap | 确定编辑组件是否插入软回车,以便文本在右边距处换行 |
下面介绍程序中TRichEdit组件的常用属性。
# 4.1.1. DefAttributes属性*
property DefAttributes: TTextAttributes;
使用该属性可获得或设罝编辑组件中新插入文本时的默认字符格式,这是在特殊格式使用前的字符格式。一旦在文本中应用了特殊格式,从这一点开始就认为没有默认字符的格式,即使字符格式匹配该属性。
# 4.1.2. HideSelection属性
property HideSelection: Boolean;
- True:编辑组件有焦点时,文本的选择部分有视觉指示。
- False:即使编辑组件无焦点,文本的选择部分仍然有视觉反应,结果使包含多个编辑组件的窗休较乱。
# 4.1.3. Lines属性
property Lines: TStrings;
使用该方法可操作编辑组件中的单行文本。
# 4.1.4. Paragraph属性*
property Paragraph: TParaAttributes;
读取该属性可获得编辑组件中指定的段落格式信息。
# 4.1.5. PlainText属性
property PlainText: Boolean;
- True:忽略RTF文本中的信息编码。
- False:将RTF文本中的格式信息编辑保存或流出到文件。
# 4.1.6. SelAttributes属性
property SelAttributes: TTextAttributes;
使用该属性可获得或设置当前选择文本的字体格式。
# 4.1.7. SelLength属性
property SelLength: Integer;
读取该属性可确定选择文本的字符长度。
# 4.1.8. SelStart属性
property SelStart: Integer;
读取该属性可确定第1个被选字符的位置,0表示第1个字符。
# 4.1.9. SelText属性
property SelText: string;
设置该属性可用新的字符串代替选择的文本。
- 应用
如果没有选择的文本,但是编辑组件有焦点,设罝SelText可在光标处将新的字符串插入到文本中。
procedure TMyHandler.BUTTON1CLICK;
//点击按钮以替换
begin
with FThis.RichEdit1 do
begin
SelText := FThis.Edit1.Text;
end;
end;
2
3
4
5
6
7
8
# 4.2. 方法
- TRichEdit组件主要方法列表
方法 | 功能描述 |
---|---|
Clear | 清除富文本编辑框中的文字内容 |
Add | 向富文本编辑框中增加文字内容 |
FindText | 使用该方法可在编辑组件中指定范围的文本中查找指定的字符串 |
GetSelTextBuf | 使用该方法可复制所选文本到字符缓冲区 |
使用该方法可打印编辑组件的内容 |
# 4.2.1. Clear方法
procedure Clear; override;
使用该方法可用空字符串代替Text属性,并删除所有文本,删除己选文本使用ClearSelection 方法。
- 应用
删除所有文本并添加新文本。
procedure TMyHandler.BUTTON1CLICK;
//点击以清空文本并添加新文本
begin
FThis.RichEdit1.Lines.Clear;
FThis.RichEdit1.Lines.Add('欢迎使用爱招飞系列产品!');
end;
2
3
4
5
6
# 4.2.2. FindText方法*
使用该方法可在编辑组件中指定范围的文本中查找指定的字符串。
type
TSearchType = (st Whole Word, stMatchCase);
TSearchTypes = set of TSearchType;
function FindText(const SearchStr: string; StarlPos, Length: Integer; Options: TSearchTypes): Integer;
2
3
4
# 5. TTrackBar组件
该组件是一个Windows滚动条封装,用于调节区域或范围。用户可以对跟踪条做进一步的处理,例如将其设置为垂直或水平,设置滑尺的高度及宽度,设置刻度单位,设置滑尺风格等。程序运行时可以用鼠标来拖动滑尺到指定位置,也可以用光标键或PageUp或PageDown键移动。
# 5.1. 属性
- TTrackBar组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BorderWidth | 使用该属性可获得或设置组件的边框宽度 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 确定组件是否具有三维(3-D)或二维外观 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Frequency | 该属性用于设置刻度的单位 |
LineSize | 使用该属性指定滑动块移动一个单位的距离 |
Max | 设置滚动条的最终位置 |
Min | 设置滚动条的起始位置 |
Orientation | 设置跟踪条是水平放置还是垂直放置 |
PageSize | 使用该属性指定与一个视图相应的跟踪条的距离 |
ParentCtl3D | 确定组件是否使用父组件的Ctl3D属性 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
Position | 设置滑尺的位置 |
PositionToolTip | 确定显示轨迹条位置的(可选)工具提示的位置 |
SelEnd | 设置该属性可确定SelStart开始选定的范围长度 |
SelStart | 指定选择范围起始点的位置 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
ShowSelRange | 指定轨迹条是否显示选择范围 |
SliderVisible | 指定轨迹栏的滑块是否可见 |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
ThumbLength | 指定轨迹栏滑块的长度 |
TickMarks | 指定刻度线的位置 |
TickStyle | 设置该属性可确定跟踪条是否显示刻度线 |
Visible | 确定组件是否可见 |
下面介绍一下TTrackBar中的常用属性。
# 5.1.1. Max属性
property Max:integer;
Max属性用于设置TTrackBar组件中Position属性的最大值,即滚动条的最终位置。
# 5.1.2. Min属性
property Min: Integer;
Min属性用于设置TTrackBar组件中Position属性的最小值,即滚动条的起始位置。
# 5.1.3. Position属性
property Position: Integer;
Position属性代表了滑块所在位置的值。
# 5.1.4. SelStart属性
property SelStart: Integer;
SelStart属性用于设置滑块拖动范围的起始点。
# 5.1.5. SelEnd属性
property SelEnd: Integer;
SelEnd属性用于设置滑块拖动范围的终止点。
# 5.1.6. Frequency属性
property Frequency: Integer;
Frequency属性用于设置刻度标记的频率,此频率与取值范围有关。
# 5.1.7. LineSize属性
property LineSize: Integer;
用于设置当按箭头键时,TTrackBar组件的Position属性增加或减少的值。按向下箭头或左箭头时,Position属性值将按该属性的值减少,按向上箭头或右箭头时,Position属性值将按该属性的值增加。
# 5.1.8. PageSize属性
property PageSize: Integer;
用于设置当按PageDown、PageUp键时或在TTrackBar组件上单击时,TTrackBar组件的Position属性增加或减少的值。按PageDown键时,Position属性值减少一个PageSize属性的值,按PageUp键时,Position属性值将增加一个PageSize属性的值。
- 应用
当移动滑块时每移动一次的Position是10。
procedure TMyHandler.TRACKBAR1CHANGE;
//滑块拖动时发生
begin
FThis.Label1.Caption := IntToStr(FThis.TrackBar1.Position);
end;
procedure TMyHandler.BUTTON1CLICK;
//加载刻度
begin
FThis.TrackBar1.Min := 0;
FThis.TrackBar1.Max := 100;
FThis.TrackBar1.PageSize := 10;
end;
2
3
4
5
6
7
8
9
10
11
12
13
# 5.1.9. Orientation属性
property Orientation: TtrackBarOrientation;
用于定义TTrackBar组件是水平排列的还是垂直排列的。取值为trHorizontal表示是水平排列的,取值为trVertical表示是垂直排列的。
# 5.2. 事件
- TTrackBar组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 在Position更改值后立即触发该事件 |
OnContextPopup | 当用户右键单击组件或以其他方式调用弹出菜单(例如使用键盘)时触发该事件 |
OnDragDrop | 用户删除正在拖动的对象时触发该事件 |
OnDragOver | 当用户在组件上拖动对象时触发该事件 |
OnEndDock | 当对象的拖动结束后产生该事件 |
OnEndDrag | 当对象的拖动结束后产生该事件 |
OnEnter | 在组件接收输入焦点时触发该事件 |
OnExit | 当输入焦点从一个组件转移到另一个组件时触发该事件 |
OnKeyDown | 当用户在组件具有焦点时按任意键时触发该事件 |
OnKeyPress | 按下某个键时触发该事件 |
OnKeyUp | 用户释放已按下的键时触发该事件 |
OnStartDock | 当用户开始拖动组件时触发该事件 |
OnStartDrag | 当用户通过左键单击组件并按住鼠标按钮开始拖动组件或其包含的对象时触发该事件 |
# 5.2.1. OnChange事件
procedure TrackBarlChange(Sender: TObject);
Trackbar改变时可以触发OnChange事件。实例详见PageSize属性。
# 5.3. 方法
- TTrackBar组件主要方法列表
方法 | 功能描述 |
---|---|
SetTick | 使用该方法可为跟踪条在Value参数指定位置上放置一个刻度线,只有当TickStyle属性设置为tsManual时,刻度线才有效 |
# 5.3.1. SetTick方法
procedure SetTick(Value:integer);
使用该方法可为跟踪条在Value参数指定位置上放置一个刻度线,只有当TickStyle属性设置为tsManual时,刻度线才有效。
# 6. TProgressBar组件
TProgressBar为进度条组件。使用TProgressBar可在窗体中添加进度条。进度条为用户提供一个应用程序执行进度的可视的反馈。当程序执行时,矩形的进度条用系统高亮度的颜色逐渐从左到右填充。
# 6.1. 属性
- TProgressBar组件主要属性
属性 | 功能说明 |
---|---|
Align | 确定组件在其父组件区内的对齐方式 |
Anchors | 指定组件如何停放在父窗体中 |
BackgroundColor | 设置并获取进度条背景的颜色 |
BarColor | 设置并获取进度条突出显示部分的颜色 |
BorderWidth | 使用该属性可获得或设置组件的边框宽度 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
DragCursor | 当前组件受拖动时光标的形状 |
DragKind | 获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 控制用户何时可拖动组件 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Hint | 包含用户将鼠标移到组件上时可以显示的文本字符串 |
MarqueeInterval | 选框动画更新间隔的时间(以毫秒为单位) |
Max | 设置进度条的最大值 |
Min | 设置进度条的最小值 |
Orientation | 指定进度条是垂直还是水平方向 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
Position | 指定进度条的当前位置 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
Smooth | 指定进度条是平滑移动还是块移动 |
SmoothReverse | 设置并获得显示进度条进度减少的功能 |
State | 设置并获取进度条的当前状态:pbsNormal,pbsError或pbsPaused |
Step | 指定调用StepIt方法时Position增加的量 |
Style | 确定TProgressBar如何说明进度 |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Visible | 确定组件是否可见 |
# 6.1.1. Smooth属性
property Smooth:Boolean;
指定进度条是平滑移动还是块移动。
False:块移动
True:平猾移动
应用
指定进度条的移动方式。
procedure TMyHandler.BUTTON2CLICK;
//设定进度条的移动方式
begin
FThis.ProgressBar1.Smooth := False; //块移动
FThis.ProgressBar2.Smooth := True; //平滑移动
end;
procedure TMyHandler.BUTTON1CLICK;
//执行进度条增加过程
begin
FThis.ProgressBar1.StepBy(100);
FThis.ProgressBar2.StepBy(100);
end;
2
3
4
5
6
7
8
9
10
11
12
13
# 6.1.2. Step属性
property Step: Integer;
该属性用于指定,调用Step方法时Position的步长。
# 6.2. 方法
- TProgressBar组件主要方法列表
方法 | 功能描述 |
---|---|
StepBy | 调用该方法可使Position的值增加一定的值 |
StepIt | 调用该方法可使Position的值增加一定的值,增量即Step属性的值 |
# 6.2.1. StepBy方法
procedure StepBy(Delta:Integer);
StepBy方法可指定ProgressBar的增量,如果要设置默认的增量的,请调用StepIt方法。StepBy方法实例详见Smooth属性
# 6.2.2. StepIt方法
procedure Steplt;
StepIt方法用于增加固定的进度条增量,固定增量请在Step属性中设置,每次调用StepIt均会增加该固定增量。
FThis.ProgressBar1.StepIt;
# 7. TUpDown组件
使用TUpDown可在窗体中添加上下组件。上下组件由一对箭头按钮组成,用于建立数值增减的上下箭头,它允许用户通过单击箭头按钮改变数值大小。例如将UpDown与一个Edit组件相关联,相当于一个SpinEdit组件的功能。程序运行后,用户单击向上或向下按钮时,Edit中的数字将连续变化。
# 7.1. 属性
- TUpDown组件主要属性
属性 | 功能说明 |
---|---|
AlignButton | 指定上下组件相对于其伴随组件的左右位置 |
Anchors | 指定组件如何停放在父窗体中 |
ArrowKeys | 使用该属性可指定上下组件是否相应键盘输入(上下方向键),上下组件和同伴组件相关联时才可使用这个属性 |
Associate | 指定用于连接上下组件的伴随组件 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件的图像是直接渲染到窗口还是首先绘制到内存中的位图 |
Enabled | 控制组件是否响应鼠标,键盘和计时器事件 |
Hint | 包含用户将鼠标移到组件上时可以显示的文本字符串 |
Increment | 指定每次按下向上或向下按钮时位置值的更改量 |
Max | 指定Position属性的最大值 |
Min | 指定Position属性的最小值 |
Orientation | 指定箭头按钮键指向的方向 |
ParentDoubleBuffered | 获得或设置组件是否使用父组件的DoubleBuffered属性 |
ParentShowHint | 确保窗体中的所有组件以统一格式显示帮助提示 |
PopupMenu | 在组件上单击光标右键时出现的弹出式菜单 |
Position | 使用该属性可获得或改变上下组件的值,这个属性必须在Min和Max之间 |
ShowHint | 确定当鼠标指针暂时停留在组件上时组件是否显示“帮助提示” |
TabOrder | 确定父组件的切换顺序 |
TabStop | 使用该属性可允许或不允许用Tab访问组件 |
Thousands | 确定在十进制字符串的每三个数字之间是否显示千位分隔符 |
Visible | 确定组件是否可见 |
Wrap | 使用该属性可指定上下组件是否处于由Max和Min属性指定的连接循环的范围内 |
TUpDown组件的主要属性如下:
# 7.1.1. Associate属性
property Associate: TWinControl;
该属性用于指定UpDown组件所依附的组件类,如Edit1等。运行时UpDown组件自动出现在依附组件的左侧或右侧。实例详见Max属性。
# 7.1.2. AlignButton属性
type TUDAlignButton = (udLeft, udRight);
property AlignButton: TUDAlignButton;
2
AlignButton属性用于指定UpDown组件出现依附组件的位置,取值为udLefi时出现在左侧,取值为udRight时出现在右侧。
# 7.1.3. ArrowKeys属性
property ArrowKeys: Boolean;
该属性用于确定是否响应键盘方向键的输入。
- True:响应键盘输入。
- False:不响应键盘输入。
# 7.1.4. Increment属性
property Increment: Integer;
该属性用于指定单击按钮时,Position属性的增减数量。
# 7.1.5. Max属性
property Min: SmallInt;
Max属性用于设置TUpDown组件中Position属性的取值范围的上限值。
- 应用
设定上限为10,下限为1。
procedure TMyHandler.BUTTON1CLICK;
//绑定Edit与UpDown
begin
FThis.UpDown1.Associate := FThis.Edit1;
FThis.UpDown2.Associate := FThis.Edit2;
FThis.UpDown1.Max := 10;
FThis.UpDown1.Min := 1;
FThis.UpDown1.Position := 9;
FThis.UpDown2.Max := 10;
FThis.UpDown2.Min := 1;
FThis.UpDown2.Position := 9;
FThis.UpDown2.Wrap := True; //设定循环显示
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
# 7.1.6. Min属性
property Min: SmallInt;
Min属性用于设置TUpDown组件中Position属性的最小值。实例详见Max属性。
# 7.1.7. Orientation属性
type TUDOrientation=(udHorizontal,udVertical);
property Orientation:TUDOrientation;
2
组件的排列方式。
- udHorizontal:箭头按钮左也并排放置。
- udVertical:箭头按钮上下垂直放置。
# 7.1.8. Position属性
property Position: Smalllnt;
Position属性代表了组件中显示内容所在位置的值。使用该属性可获得或改变上下组件的值,这个属性必须在Min和Max之间。实例详见Max属性。
# 7.1.9. Warp属性
property Wrap: Boolean;
设置是否在最小值和最大值之间循环显示。实例详见Max属性。使用该属性可指定上下组件是否处于由Max和Min属性指定的连续循环的范围内。如果为True, 当用户增加Position超过Max的值时,Position的值变为Min属性的值;反之变为Max 属性的值。
- True:循环;
- False:不循环。
# 7.2. 事件
- TTrackBar组件主要事件列表
事件 | 何时触发 |
---|---|
OnChanging | 用户单击上下组件的箭头按钮时,或当试图改变Position的值时, 产生这个事件 |
OnChangeingEx | 上下组件的位置将要改变时产生该事件 |
OnClick | 当组件按钮被点击时触发事件 |
# 7.2.1. OnChanging事件
type TUDChangingEvent-procedure(Sender:Tobject;var AllowChange:Boolean) of object;
property OnChanging:TUDChanginEvent;
2
用户单击上下组件的箭头按钮时,或当试图改变Position的值时,产生这个事件。
# 7.2.2. OnChangingEx事件
type TUDChangingEventEx = procedure (Sender: TObject; var AllowChange: Boolean;
New Value: Smalllnt; Direction: TUpDownDirection) of object;
property OnChangingEx: TUDChanginEventEx;
2
3
上下组件的位置将要改变时产生该事件,编写其事件处理程序可有条件地不允许改变 Position的值。设置AllowChange参数为False可防止改变当前Position的值。
# 7.2.3. OnClick事件
type
TUDBtnType = (btNext, btPrev);
TUDCIickEvent = procedure (Sender: TObject; Button: TUDBtnType) of object;
property OnClick: TUDCIickEvent;
2
3
4
当用户单击箭头按钮时产生该事件,编写其事件处理程序可执行特定的处理。
# 8. THotKey组件
THotKey组件用于使用户在组件界面上设置热键,设置的热键用于调用其他需要快捷操作的功能。使用THotKey可创建一个作为快捷键使用的组合键,可指定多个修饰键,如Ctrl、Alt或Shift等,它们和另外一个非修饰键,如字符键或数字键组成一个热键。
# 8.1. 属性
- THotKey组件主要属性
属性 | 功能说明 |
---|---|
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoSize | 使用该属性可使热键组件上的字体完整显示 |
BiDiMode | 使用该属性可谓组件指定双向模式,控制读文本的顺序、垂直滚动条的位置以及是否改变对齐方式。对齐方式不改变组件包含的数量、日期、事件和当前数值 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Hint | 组件提示 |
HotKey | 使用该属性可设置或改变热键相关的组合键,Alt+A为默认值 |
InvalidKeys | 使用该属性可选择不允许的组合键 |
Modifiers | 规定与非辅助键搭配的辅助按键 |
ParentBiDiMode | 规定组件是否继承父组件的BiDiMode |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Visible | 规定该组件在窗体上是否可见 |
# 8.1.1. AutoSize属性
property AutoSize: Boolean;
使用该属性可使热键组件上的字体完整显示,为True时,热键的高度改变以显示键入其中的键值;否则热键保持同一高度,不考虑字体的变化。
# 8.1.2. HotKey属性
property Hotkey: TShortCut;
使用该属性可设置或改变与热键相关的组合键,Alt+A为默认值。
- 应用
要修改这个属性的值,可直接编辑或设罝Modifiers属性值。在程序运行时,当热键有焦点且用户按有效的组合键时,重新设置该属性。当前实例需要使用TMainMenu组件建立菜单。
procedure TMyHandler.MENUITEM2CLICK;
//设定菜单栏快捷键
begin
FThis.MenuItem2.ShortCut := FThis.HotKey1.HotKey;
end;
procedure TMyHandler.BUTTON1CLICK;
//设定快捷键
begin
FThis.HotKey1.Modifiers := [hkCtrl];
FThis.HotKey1.InvalidKeys := [hcShift, hcAlt];
end;
2
3
4
5
6
7
8
9
10
11
12
# 8.1.3. InvalidKeys属性
type
THKInvalidKey = (hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAIt);
THKInvalidKeys = set of THKInvalidKey;
property InvalidKeys: THKInvalidKeys;
2
3
4
使用该属性可选择不允许的组合键。如果设置了该属性,则默认组合键将在Modifiers属性中指定。选择无效键时,默认组合键显示在其位置上。
- hcNone:没有无效的组合键(默认);
- hcShift: Shift键用做组合键时无效(默认);
- hcCtrl: Ctrl键用做组合键时无效;
- hcAlt: Alt键用做组合键时无效;
- hcShiftCtrl: ShiftCtrl键用做组合键时无效;
- hcShiftAlt: ShiftAlt键用做组合键时无效;
- hcCtrlAlt: CtrlAlt键用做组合键时无效;
- hcShiftCtrlAlt: ShiftCtrlAlt 键用做组合键时无效。 用法如下:
FThis.Hotkey1.InvalidKeys := [hcNone];
FThis.HotKey2.InvalidKeys := [hcShift];
FThis.HotKey3.InvalidKeys := [hcCtrl];
FThis.HotKey4.InvalidKeys := [hcAlt];
FThis.HotKey5.InvalidKeys := [hcShiftCtrl];
FThis.HotKey6.InvalidKeys := [hcShiftAlt];
FThis.HotKey7.InvalidKeys := [hcCtrlAlt];
FThis.HotKey8.InvalidKeys := [hcShiftCtrlAlt];
2
3
4
5
6
7
8
# 8.1.4. Modifiers属性
type
THKModifier = (hkShift, hkCtrl, hkAlt, hkExt);
THKModifiers = set of THKModifier;
property Modifiers: THKModifiers;
2
3
4
使用该属性可为热键选择组合键。
hcShift: Shift键用做组合键;
hcCtrl: Ctrl键用做组合键;
hcAlt: Alt键用做组合键(默认);
hcExt: Extra键用做组合键。
应用
procedure TMyHandler.BUTTON1CLICK;
begin
FThis.HotKey1.Modifiers := [hkShift];
FTHis.HotKey2.Modifiers := [hkCtrl];
FThis.HotKey3.Modifiers := [hkAlt];
FThis.HotKey4.Modifiers := [hkExt];
end;
2
3
4
5
6
7
# 8.2. 事件
- THotKey组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 当快捷键的属性发生变化时触发该事件 |
OnEnter | 当组件获取焦点时触发该事件 |
OnExit | 当组件失去焦点时触发该事件 |
# 9. TAnimate组件
TAnimate组件用于展示动画片段、一系列的图片帧,组件可从文件、资源文件或是一系列标准动画中加载动画。要设定一段动画,请配置FileName,CommonAVI,ResName,ResID属性。
# 9.1. 属性
- TAnimate组件主要属性
属性 | 功能说明 |
---|---|
FrameCount | AVI视频片段中的视频总帧数 |
FrameHeight | 动画中每帧图片的像素高度 |
FrameWidth | 动画中每帧图片的像素宽度 |
Open | 动画是否加载到内存中 |
ResHadle | 规定AVI片段的资源文件模块的窗体句柄 |
ResID | 动画资源文件的资源ID |
ResName | 动画的资源名称 |
Active | 组件是否播放播放动画 |
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoSize | 组件尺寸是否自适应于动画 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
Center | 规定动画是否居中 |
Color | 规定组件的背景色 |
CommonAVI | 动画组件是否能播放在Shell32.dll中提供的通用动画 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
FileName | 规定包含动画的文件名称 |
ParnetColor | 组件要使用与其父组件相同的颜色 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
Repetitions | 规定动画帧序列的重复播放次数 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
StartFrame | 当动画组件被激活时的起始帧 |
StopFrame | 当动画组件被激活时的最末帧 |
Timers | 是否使用计时器进行帧播放 |
Transparent | 确定当前的背景颜色是否要与Color属性的值相匹配,即是否产生透明效果。 |
Visible | 规定该组件在窗体上是否可见 |
# 9.1.1. Active属性
property Active: Boolean;
该属性用于确定TAnimate控件是否播放动画,当Active设置为True时,TAnimate开始播放动画,设置为False时,TAnimate停止播放动画。
# 9.1.2. Center属性
property Center: Boolean;
该属性用于确定TAnimate控件是否居中播放动画。
# 9.1.3. CommonAVI属性
type TCommonAVI = (aviNone, aviFindFolder, aviFindFile, aviFindComputer,
aviCopyFiles, aviCopyFile,aviRecycleFile, aviEmptyRecycle, aviDeleteFile);
property CommonAVI: TCommonAVI;
2
3
该属性用于确定TAnimate控件是否播放Shell32.dll中的公用动画。当将CommonAVI设置为aviNone之后,便可以通过FileName属性指定播放的动画文件名称。
- aviNone:采用自定义动画
- aviFindFolder:显示系统查找目录动画
- aviFindFile:显示系统中查找文件的动画
- aviFindComputer :显示查找计算机的动画
- aviCopyFiles:益示复制多个文件的动画
- aviCopyFile:显示复制文件的动画
- aviRecycleFile:将文件放入回收站的动画
- aviEmptyRecycle:清空回收站的动画
- aviDeleteFile:删除文件动画
# 9.1.4. FileName属性
property FileName: TFileName;
type TFileName = type string;
2
该属性用于指定包含动画的文件。
# 9.1.5. FrameCount属性
property FrameCount: Integer;
该属性用于指定TAnimate控件中播放动画的总数。
# 9.1.6. FrameHeight属性
property Framelleight: Integer;
该属性用像素表示TAnimate控件中图像的高度。
# 9.1.7. FrameWidth属性
property FrameWidth: Integer;
该属性用像素表示TAnimate控件中图像的宽度。
# 9.1.8. Open属性
property Open: Boolean;
该属性用于指定动画是否已经载入内存。
# 9.1.9. Repetitions属性
property Repetitions: Integer;
该属性用于设定动画循环播放的次数。
# 9.1.10. ResName属性
property ResName: string;
该属性用于指定动副资源的名称。
# 9.1.11. StartFrame属性
property StartFrame: Smalllnt;
该属性用于指定,TAnimate控件激活时的起始帧。
# 9.1.12. StopFrame属性
property StopFrame: Smalllnt;
该属性用于指定当TAnimate控件激活时的最末帧。
# 9.1.13. Transparent属性
property Transparent: Boolean;
该属性用于确定,前帧的背景颜色是否要与Color属性的值相匹配,即是否产生透明效果。
# 9.2. 事件
- TAnimate组件主要事件列表
事件 | 何时触发 |
---|---|
OnClose | 当组件被关闭时触发该事件 |
OnOpen | 当组件打开时触发该事件 |
OnStart | 当开始播放动画时触发该事件 |
OnStop | 当动画结束播放时触发该事件 |
# 9.3. 方法
- TAimate组件主要方法列表
方法 | 功能描述 |
---|---|
AfterConstruction | 执行对象的最后一个构造后自动调用该方法,在应用程序中不要直接调用该方法。在TObject中实现这个方法不执行任何操作。重载该方法可在创建对象后设定后设定一些行为 |
Assign | 复制Source参数指定的对象 |
Play | 显示指定的帧序列 |
Reset | 重置StartFrame和StopFrame属性显示动画中的第一帧 |
Seek | 显示动画剪辑中的指定帧 |
Stop | 当在播放时停止动画组件的播放 |
# 9.3.1. Play方法
procedure Play(FromFrame:Word;ToFrame:Word;Count:Integer);
调用Play方法视同为设定StartFrame属性值至FromFrame,设定StopFrame属性值至ToFrame,Repetitions对应为Count,设定Active属性为True。
- FromFrame:播放序列起始帧。
- ToFrame:播放序列结束帧。
- Count:循环播放次数,0表示无限次循环。
# 9.3.2. Reset方法
procedure Reset;
重置StartFrame和StopFrame属性显示动画中的第一帧。
# 9.3.3. Seek方法
procedure Seek(Frame:Smallint);
Seek方法用于播放序列中的一帧,Frame参数的值必须小于等于该组件的FrameCount属性值。当动画组件未被启用时,调用该方法视同将该组件的Open属性设置为True。
# 9.3.4. Stop方法
procedure Stop;
TAnimate控件正在播放动画时,Stop方法用于停止播放。
# 10. TDateTimePicker组件
TDateTimePicker组件为用户提供了输入日期和时间的列表框。当TDateTimePicker组件处于dmComboBox日期模式(DateMode为dmComboBox)下,它类似于一个列表框或组合框,只是下拉列表部分显示日历图表,用户能够通过日历图表选择日期。
# 10.1. 属性
- TDateTimePicker组件主要属性
属性 | 功能说明 |
---|---|
DateTime | 显示当前日期时间的值,显示的内容取决于Kind属性 |
DroppedDown | 事件选择组件下拉(弹出日历) |
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格、即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内或内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
CalAlignment | 确定下拉日历的对齐方式 |
CalColors | 使用该属性可获得或设置日历背景、月背景、文本、标题背景、标题文本和跟踪文本的颜色 |
Checked | 确定TDateTimePicker组件中的检查框是否处于选中状态 |
Color | 组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Date | 日期选择框中默认的日期 |
DateFormat | 日期的显示格式 |
DateMode | 确定日期时间的选择方式 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
Format | 规定日期时间字符的显示格式 |
ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
ImeName | 设置该属性可配置IME名称 |
Kind | 规定当前组件是显示日期还是显示时间 |
MaxDate | 规定可输入日期的最大值 |
MinDate | 规定可输入日期的最小值 |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 组件要使用与其父组件相同的颜色 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
ParseInput | 确定OnUserInput事件是否被激活 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowCheckbox | 显示TDateTimePicker组件中的复选框 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Time | 显示由用户输入的时间 |
Visible | 规定该组件在窗体上是否可见 |
# 10.1.1. CalColors属性
property CalColors: TMonthCalColors;
CalColors属性用于设置TDateTimePicker组件中日历部分的颜色,如日历背景颜色、月份背景颜色、文本颜色、标题背景颜色、标题文本颜色、日历页面其余月份(当前月之外)的字体颜色。
具体用法如下:
with FThis.DateTimePickerl do
begin
CalColors.BackColor := S00C4FFFF;
CalColors.TextCoIor := clRed;
CalColors.TitleBackColor :=S00FFFFC4 ;
CalColors.TitleTextColor := clBlue;
CalColors.MonthBackColor := S00FF86FF;
CalColors.TrailingTextColor := clLime;
end;
2
3
4
5
6
7
8
9
# 10.1.2. Date属性
property Date: TDate;
Date属性用于确定在日历中标记的日期。使用Date属性能够读取或设置日历中标记的日期,日期值必须在MaxDate与MinDate属性值之间。
# 10.1.3. DateFormat属性
type TDTDateFormat = (dfShort,dfLong);
property DateFormat: TDTDateFormat;
2
DateFormat属性用于指定日期格式,可选值如下。
- dfShort: 日期格式采用Windows控制面板中的短日期格式。
- dfLong: 日期格式采用Windows控制面板中的长日期格式。
# 10.1.4. DateTime属性
property DateTime: TDateTime;
使用DateTime属性能够设置和读取系统日历中标记的日期和时间。DateTime属性的属性值必须在MaxDate与MinDate属性值之间。
# 10.1.5. Format属性
property Format: String;
Format属性用于标识U期和时间的显示格式,可选值如下。
- d: 日期只显示天数,没有前导0,如8。
- dd: H期只显示天数,有前导0,如08。
- ddd: 3个字符的星期格式,由全局变景ShortdayNames确定,默认格式如星期二。
- dddd: 完整的星期格式,由全局变景LongDateNames确定,默认格式如星期二。
- h:只显示时间部分的小时,为12进制格式,没有前导0,如8。
- hh:只显示时间部分的小时,为12进制格式,有前导0,如08。
- H:只显示时间部分的小时,为24进制格式,没有前导0,如8。
- HH:只显示时间部分的小时,为24进制格式,有前导0,如08。
- m:只显示时间部分的分钟,没有前导0,如9。
- mm:只显示时间部分的分钟,有前导0,如09。
- M:只显示U期部分的月,没有前导0,如8。
- MM:只显示(=1期部分的月,有前导0,如08。
- MMM: 3个字符的月简写,如“十一月”。
- MMMM:月名全写。
- t:表示上午/下午(AM/PM)的简写,如A或P。
- tt:表示上午/下午(AM/PM)的全写,如AM或PM。
- yy:显示年份的后两位,如2001将简写为01。
- yyyy:媪示年份的全称,如2001。
# 10.1.6. Kind属性
type TDateTimeKind = (dtkDate, dtkTime);
property Kind: TDateTimeKind;
2
Kind属性用于确定TDateTimePicker组件显示日期还是时间,可选值如下。
- dtkDate: TDateTimePicker 组件显示日期部分。
- dtkTime: TDateTimePicker 组件显示时间部分。
# 10.1.7. MaxDate属性
property MaxDate: TDate;
MaxDate属性用于设置用户在日历中滚动的最大日期。使用MaxDate属性能够限制用户在 TDateTiemPicker组件中编辑的最大时间。
# 10.1.8. MinDate属性
property MinDate: TDate;
MaxDate属性用于设置用户在日历中滚动的最小日期。使用MinDate属性能够限制用户在 TDateTiemPicker组件中编辑的最小时间。
# 10.1.9. Time属性
type TTime = type TDateTime;
property Time: TTime;
2
Time属性用于确定用户输入的时间。只有在Kind属性为dtkTime时,TDateTimePicker组件才会显示时间。如果TDateTimePicker组件的Kind属性为dtkDate,设置Time属性,时间不会显示在TDateTimePicker组件中,如果要查看Time属性值,需要进行日期格式化(使用FormatDateTime 函数)。
# 10.2. 事件
- TDateTimePicker组件主要事件列表
事件 | 何时触发 |
---|---|
OnChange | 当时间或日期输入时触发该事件 |
OnClick | 当用户点击当前组件时触发该事件 |
OnCloseUp | 当下拉日期框关闭时触发该事件 |
OnUserInput | 当用户直接向日期选择编辑框中键入时触发该事件 |
# 10.3. 方法
- TDateTimePicker组件主要方法列表
方法 | 功能描述 |
---|---|
BoldDays | 编辑一组日期数据,应用于OnGetMonthInfo事件处理过程 |
procedure BoldDays(Days: array of Long Word; var MonthBoldlnfo: LongWord);
BoldDays方法用于编辑一组日期数据,应用于OnGetMonthlnfo事件处理过程。使用BoldDays方法能够为当前月份设置一组日期,这些日期将以粗体显示。由BoldDays方法返回的值(MonthBoldlnfo)能够作为 OnGetMonthInfo 事件的 MonthBoldInfo 参数。
# 11. TMonthCalendar组件
使用TMOnthCalendar组件可以通过标准的日历界面来确定一个日期或一个日期范围,TMonthCalendar根据系统的地区显示日期(忽略BiDiMode设置)。
# 11.1. 属性
- TMonthCalendar组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoSize | 使组件大小自动适应组件中的内容 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
CalColors | 包含日历各部分的颜色设置 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
ImeMode | 设置该属性可配置IME处理用户按键的方法。对于亚洲语言字符,IME为前端输入处理器 |
ImeName | 设置该属性可配置IME名称 |
MaxDate | 规定可输入日期的最大值 |
MaxSelectRange | 当MultiSelect属性为True时,使用该属性可限制可选日期 |
MinDate | 规定可输入日期的最小值 |
MultiSelect | 组件是否可以选择多个日期 |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
ShowToday | 是否在日历底部显示今天的日期 |
ShowTodayCircle | 是否在日历中圈出今天的日期 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Visible | 规定该组件在窗体上是否可见 |
WeekNumbers | 是否在日历左侧显示对应的周(星期)数 |
# 11.1.1. Date属性
property Date:Tdate;
使用该属性可获得或设置日历中有标记的日期。
# 11.1.2. EndDate属性
property EndDate:Date;
使用该属性可获得或设罝日历上有标记的最后选中的日期。
# 11.1.3. FirstDayOfWeek属性
property FirstDayOfWeek: TcalDayOfWeek;
使用该属性可获得或设置日历中周的第1天。
# 11.1.4. MaxSelectRange属性
property MaxSelectRange: Integer;
当MultiSelect属性为True时,使用该属性可限制可选日期。若要限制日期范围时,则使用MaxDate 和MinDate属性。
# 11.1.5. MultiSelect属性
property MultiSelect: Boolean;
使用该属性可指出日历表示的是单日期,还是个范围的日期。为True时,指定从Date到EndDate的一个范围的日期;否则只指定Date属性的值。
# 11.1.6. ShowToday属性
property ShowToday: Boolean;
该属性用于确定今天日期足否显示在日历的下面。True:显示。False:隐藏。
# 11.1.7. ShowTodayCircle属性
property ShowTodayCircle: Boolean;
使用该属性可指出日历上今天的日期(根据系统时间确定)是否用圆圈起。
# 11.1.8. WeekNumbers属性
property WeekNumbers: Boolean;
是否显示周数。
- True:周数显示在日历的右边。
- False:周数不显示在日历的右边.
# 11.2. 事件
- TMonthCalendar组件主要事件列表
事件 | 何时触发 |
---|---|
OnClick | 当时间或日期输入时触发该事件 |
OnGetMonthInfo | 当日历中显示一个新月份时触发该事件 |
# 12. TTreeView组件
TTreeView组件是树状视图组件,表示一个显示项目分层列表的窗口,用于建立一个多层次关系的树状显示。使用TTreeView组件可以在窗休中添加树状视图窗口,树状视图组件中的节点由一个标签和一定数量的可选位图组成。每个节点都有一个与其相关的子节点列表,用户单击节点,可扩展或压缩与子节点相关的列表。
# 12.1. 属性
- TTreeView组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoExpand | 指定树状视图中是否根据选择自动展开或折叠。为True时展开;否则折叠。 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格、即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内或内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 确定树状视图组件是否有边框 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
ChangeDelay | 确定选择节点和OnChange事件发生之间的延时,单位为ms |
Color | 规定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 规定组件的视觉外观是3D还是2D |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
HideSelection | 当焦点移至其他组件时原结点是否仍继续保持选择状态 |
HotTrack | 当鼠标移动至列表项目上时列表项目是否高亮显示 |
Images | 使用该属性可提供显示在节点标签左边的用户位图列表,单个节点通过设置其ImageIndex属性指定这个列表中的单个图像 |
Indent | 利用该属性可以确定展开子结点相对于其展开的父结点的像素缩进量 |
Items | 列出显示在视图组件中的独立结点,树状视图中的单个结点都是TTreeNode对象 |
MultiSelect | 设置该属性可以指定用户能否利用Ctrl和Shift键依次选中多个结点 |
MultiSelectStyle | 当MultiSelect属性为True时,该属性确定多选择结点如何工作,它必须包含下列值之一:msControlSelect、msShiftSelect、msVisibleOnly和msSiblingOnly |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 规定组件是否继承父组件的Color属性 |
ParentCtl3D | 规定组件是否继承父组件的Ctl3D属性 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ReadOnly | 规定用户是否可以编辑结点标签 |
RightClickSelect | 使用该属性可允许Selected属性指定右击按钮所选的结点 |
RowSelect | 设置该属性为True,当结点整行被选中时是否高亮显示 |
Selected | 读取该属性可访问树状视图中所选择的结点 |
SelecttionCount | 该属性返回当前所选择的结点数 |
Selections | 该属性返回一个选择的结点数 |
ShowButtons | 是否在每个父结点的左侧显示“=”和“-”按钮,用户可单击按钮展开或折叠子项,与双击父项的选择相同 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
ShowLines | 是否显示子结点与父结点之间的连接线 |
ShowRoot | 是否显示连接到根结点的连接线 |
SortType | 确定树状视图的结点是否自动排序 |
StateImages | 提供一组表示树状视图结点状态的位图,状态图像作为附加的图像显示在项目图表的左边 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Time | 显示由用户输入的时间 |
ToolTips | 设置该属性为True,可指定树状视图的项目有工具提示(Help Hints)在OnHint事件处理程序中,使用Hint属性可指定ToolTip的文本 |
TopItem | 指定树状视图的最顶层结点,当其改变时,树状视图垂直滚动,以使指定的结点在树状视图中处于顶层 |
Visible | 规定该组件在窗体上是否可见 |
# 12.1.1. AutoExpand 属性*
property AutoExpand: Boolean;
该属性指定树状视图中是否根据选择自动展开或折叠。为True时展开;否则折叠。
# 12.1.2. BorderStyle 属性
property BorderStyle: TBorderStyle;
该属性确定树状视图组件是杏有边框,取值如下。
- bsNone:无边框。
- sSingle:单细线边框。
代码示例
FThis.TreeView1.BorderStyle := bsNone;
FThis.TreeView1.BorderStyle := bsSingle;
2
# 12.1.3. Canvas 属性
property Canvas: TCanvas;
使用该属性可在OnCustomDraw和OnCustomDrawltem事件处理程序的画布上绘图。
# 12.1.4. DropTarget 属性
property DropTarget: TTreeNode;
读取该属性可确定树状视图中节点是否以拖放操作的目标显示。当在树状图中指定一个节点作为拖放操作的目标时,可设置该属性。此时,应用程序还必须处理通过指定的节点接收拖动对象的实际逻辑。
# 12.1.5. HideSelection 属性
property HideSelection: Boolean;
使用该属性可指定树状视图的当前选择没有焦点时足否显示,为True时,所选节点与其他节点没有区别,直到焦点返回该组件;否则节点总是显示为被选状态。
# 12.1.6. HotTrack 属性
property IIotTrack: Boolean;
该属性为True时,鼠标经过列表项上时以高亮显示;否则不以高亮显示。
# 12.1.7. Images 属性
property Images: TCustomlmageList;
使用该属性可提供显示在节点标签左边的用户位图列表,单个节点通过设置其Imagelndex 属性指定这个列表中的单个图像。
# 12.1.8. Indent 属性
property Indent: Integer;
利用该属性可以确定展开子节点相对于其展开的父节点的像素缩进量。
# 12.1.9. Items 属性*
property Items: TTreeNodes;
该属性用于列出显示在树状视图组件的单个节点,树状视图中的单个节点是TTreeNode对 象。这些节点通过Items属性和其在树状视图中的索引号访问。
示例代码:
var
i:integer;
begin
for i:=0 to FThis.TreeViewl.Items.Count - 1 do
begin
FThis.TreeView1.Items[i].Text := FThis.TreeView1.Items[i].Text+'-'+
IntToStr(FThis.TreeView1.Items[i].Index);
end;
end;
2
3
4
5
6
7
8
9
# 12.1.10. MultiSelect 属性
type
TMultiSelectStyles = (msControlSelect, msShiftSelect, msVisibleOnly, msSiblingOnly);
TMultiSelectStyle = set of TMultiSelectStyles;
property MultiSelectStyle: TMultiSelectStyle;
2
3
4
当MultiSelect属性为True时,该属性用于确定多选择节点如何工作,它必须包含下列值 之一:msControlSelect、msShiftSelect、msVisibleOnly 和 msSiblingOnly。
# 12.1.11. Readonly 属性
property Readonly: Boolean;
使用该属性可指定用户是否可编辑节点标签,为True时,可展开或折叠节点,但不能编辑其标签;否则可编辑标签。该属性默认为False。
# 12.1.12. RightClickSelect 属性
property RightClickSelect: Boolean;
使用该属性可允许Selected属性指定右击按钮所选的节点。为True时,Selected的值即为右击或最后单击的节点值;否则为使用最后单击的节点值。该属性只影响Selected属性值。如果是右击选择的节点,则并不使树状视图以高亮显示该新节点。右击树状视图以影响Selected属性的值前,必须将该属性设为True。
# 12.1.13. RowSelect 属性
property RowSelect: Boolean;
设置该属性为True,可使所选择项的整个行以高亮显示。当ShowLines为True时忽略该属性。
# 12.1.14. Selected 属性
property Selected: TTreeNode;
读取该属性可访问在树状视图中选择的节点。如果没有所选节点,该属性为NULL。
# 12.1.15. SelectionCount 属性
property SelectionCount: Cardinal;
该属性用于返回,前所选择的节点数。
# 12.1.16. Selections 属性*
property Selections[Index: Integer]: TTreeNode;
该属性返回一个选择的节点数。Index的最大值为SelectionCount-1。如果选择了多个节点, 则Selections[0]为第一个选中节点。
# 12.1.17. ShowButtons 属性
property ShowButtons: Boolean;
如果该属性为True,每个父项的左边将显示加号(+ )和减号(-)按钮,用户可单击按钮展开或折叠子项,与双击父项的选择相同。
# 12.1.18. ShowLines 属性
property ShowLines: Boolean;
如果该属性为True,则显示子节点与其对应的父节点之间的连线。根节点不自动连接,要连接根节点,必须将ShowRoot属性也设为True。
# 12.1.19. ShowRoot 属性
property ShowRoot: Boolean;
要显示连接最顶层节点的连线,可将树状视图的该属性和ShowLines属性均设置为True。
# 12.1.20. SortType 属性
property SortType: TSortType;
该属性用于确定树状视图的节点是否动排序。一曰.树状视图被排序,则丢失原层次。即使将该属性设置回stNone,也不恢复原来项目的顺序。该属性的取值如下。
- stNone:没有排序。
- stData:当Data对象或SortType改变时,该项目排序。
- stBoth: 4 Data对象、Caption或SortType改变时,该项目排序。
- stText:当Caption或SortType改变时,该项目排序。
# 12.1.21. StateImages 属性
property StateImages: TCustomImageList;
该属性用于提供一组表示树状视图节点状态的位图,状态图像作为附加的图像显示在项目图标的左边。
# 12.1.22. TopItem 属性
property TopItem: TTreeNode;
该属性用于指定树状视图的最顶层节点,当其改变时,树状视图垂直滚动,以使指定的节点在树状视图中处于顶层。
# 12.2. 事件
- TTreeView组件主要事件列表
事件 | 何时触发 |
---|---|
OnAddition | 当增加新结点时触发该事件 |
OnAdvancedCustomDraw | 当绘制组件视图时触发该事件 |
OnAdvancedCustomDrawItem | 当绘制树形结点时触发该事件 |
OnChange | 当结点选择从一个转移到另外一个后触发该事件 |
OnChanging | 当结点选择正在从一个转移到另外一个时触发该事件 |
OnClick | 当用于点击组件时触发该事件 |
OnCollapsed | 当一个结点收缩后触发该事件 |
OnCollapsing | 当一个结点正在收缩时触发该事件 |
OnCompare | 当两个结点因为分类需要比较时触发该事件 |
OnContextPopup | 当时触发该事件 |
OnCreateNodeClass | 当树形视图中正在新增结点时触发该事件 |
OnCustomDraw | 当绘制树形视图前触发该事件 |
OnCustomDrawItem | 当绘制属性视图结点前触发该事件 |
OnDblClick | 当双击组件时触发该事件 |
OnDeletion | 当删除树形视图时触发该事件 |
OnEdited | 当修改结点的文字属性后触发该事件 |
OnEditing | 当开始修改结点的文字属性时触发该事件 |
OnEnter | 当组件捕获输入焦点时触发该事件 |
OnExit | 当焦点转移至其他组件时触发该事件 |
OnExpanded | 当结点展开后触发该事件 |
OnExpanding | 当结点展开时触发该事件 |
OnKeyDown | 当组件捕获焦点时按下任意按键时触发该事件 |
OnKeyPress | 当某个按键按下时触发该事件 |
# 12.3. 方法
方 法 | 描 述 |
---|---|
AlphaSort | 该方法以字母顺序排列树状视图的节点,如果成功,则返回True。若要树状视图保持所有节点的排序,可使用SortType属件 |
ClearSelection | 取消所有的选择节点 |
Deselect | 取消选定节点 |
FindNextToSelect | 返回下一个可选择的节点 |
FullCollapse | 折叠树状视图组件中的所有节点,调用这个方法可隐含树状视图中的所有节点 |
FullExpand | 扩嵌树状视图组件中的所有节点,调用这个方法可显示树状视图中的所有节点 |
GetHitTestlnfoAt | 调用该方法可确定参数X和Y指定的点位于树状视图的哪一个部分 |
GetNodeAt | 调用该方法可访问X和Y参数指定的位置处的节点,X和Y指定 相对于树状视图左上角的像素位置。如果这个位置没有节点,则该方法返回NULL |
GetSelections | 产生一个OnGetSelections事件并清空Alist,然后将所有选择节点对象复制到其中 |
IsEditing | 如果树状视图的节点标签正被编辑,则该方法返回True |
LoadFromFile | 使用该方法可从文件中重新获得树状视图数据并把数据调入树状视图 |
LoadFromStream | 使用该方法可从指定的流中读入树状视图的节点 |
SaveToFile | 利用该方法可将树状视图的数据保存在文本文件中,使用LoadFromFile方法可将该文件重新调入新的树状视图对象中 |
SaveToStream | 使用该方法可流出树状视图的数据,使用LoadFromStream方法可使数据流入到另外的树状视图对象中 |
Select | 选择一个或多个节点 |
SubSelect | 锁定节点的选择状态 |
# 12.3.1. AlphaSort 方法
function AlphaSort([ARecurse: Boolean]): Boolean;
以字母顺序排列树状视图的节点,如果成功,则返回True。若要树状视图保持所有节点的排序,可使用SortType属性。
# 12.3.2. ClearSelection 方法
procedure ClearSelection(KeepPrimar>,: Boolean = False); virtual;
取消所有的选择节点。
语法示例:
FThis.TreeView1.ClearSelection(False);
# 12.3.3. FindNextToSelect方法
function FindNextToSelect: TTreeNode; virtual;
该方法用于返回下一个可选择的节点。
# 12.3.4. FullCollapse 方法
procedure FullCollapse;
该方法用于折叠树状视图组件中的所有节点,调用这个方法可隐含树状视图中的所有节点。如果ShowButtons为True,则所有按钮将从“-”变为“ + ”。
# 12.3.5. FullExpand 方法
procedure FullExpand;
该方法用于扩展树状视图组件中的所有节点,调用这个方法可显示树视图中的所有节点。如果ShowButtons为True,则所有按钮将从“+”变为“-”。
# 12.3.6. GetNodeAt 方法
function GetNodeAt(X, Y: Integer): TTreeNode;
调用该方法可访问X和Y参数指定的位置处的节点,X和Y指定相对于树状视图左上角 的像素位置。如果这个位置没有节点,则该方法返回NULL。
# 12.3.7. GetSelections 方法
function GetSelections(AList: TList): TTreeNode;
该方法产生一个OnGetSelections事件并淸空Alist,然后将所有选择节点对象复制到其中。 该方法返回的是Selected属性的值。
# 12.3.8. IsEditing 方法
function IsEditing: Boolean;
如果树状视图的节点标签正被编辑,该方法返回True。
# 12.3.9. LoadFromFile 方法
procedure LoadFromFile(const FileName: string);
使用该方法可从文件中重新获得树状视图数据并把数据调入树状视图。
# 12.3.10. LoadFromStream 方法
procedure LoadFromStream(Stream: TStream);
使用该方法可从指定的流中读入树状视图的节点,例如应用程序可将树状视图显示的信息作为一个Binary Large Object (BLOB)字段中的数据保存。该方法使用TBlobStream对象可重新获得数据。
# 12.3.11. SaveToFile 方法
procedure SaveToFile(const FileName: string);
利用该方法可将树状视图的数据保存到文本文件中,使用LoadFromFile方法可将该文件重新调入新的树状视图对象中。
# 12.3.12. SaveToStream 方法
procedure SaveToStream(Stream: TStream);
使用该方法可流出树状视图的数据,使用LoadFromStream方法可将数据流入到另外的树 状视图对象中。
# 12.3.13. Select 方法
procedure Select(const Nodes: array of TTreeNode); overload; virtual;
procedure Select(Nodes: TList); overload; virtual;
procedure Select(Node: TTreeNode; ShiftState: TShiftState = []); overload; virtual;
2
3
利用该方法可选择一个或多个节点。在前而两个过程中,选中Nodes参数中的所有节点, 取消其他节点的选定。在第3个过程中,选择的节点如同单击选中一样。
# 12.3.14. Subselect 方法
procedure Subselect(Node: TTreeNode; Validate: Boolean = False); virtual;
该方法用于锁定节点的选择状态。当MultiSelect为False时调用该方法将出现ETreeViewError 异常。
# 13. TListView组件
TListView组件可以用来显示各项带图标的列表,包括大图标和小图标的;也可以用来显示带有子项的列表,Windows操作系统的资源管理器中文件夹窗口就是最好的应用例子,就是我们打开"我的电脑"后能够看到各个盘符的界面。TListView组件基本能实现和DBGrid组件一样的功能,很多时候根据程序需要可以完全用TListView来替换DBGrid;只要将TListView的ViewStyle属性设为vsReport,然后再配合其他几个属性,就可以实现DBGrid中的绑定数据库、数据添加、修改、删除、不同列的不同颜色显示及单击标题排序等等一系列常用的功能。
# 13.1. 属性
- TListView组件主要属性
属性 | 功能说明 |
---|---|
Action | 设定组件与动作的关联 |
Align | 决定容器(父组件)对该组件的归属方式 |
AllocBy | 规定列表视图在内存中可存储的项目数 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
BevelEdges | 使用该属性可获得或设置组件成斜角的边缘 |
BevelInner | 使用该属性可指定内斜角是否具有凸、凹或平坦的外观 |
BevelKind | 使用该属性可修改斜角的风格、即斜角的倾斜程度 |
BevelOuter | 使用该属性可指定外斜角是否具有凸、凹或平坦的外观,外斜角直接显示在边框内或内斜角的外面 |
BevelWidth | 使用该属性可指定内外斜角的像素宽度 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
BorderStyle | 确定列表视图组件是否有边框 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
BoundingRect | 读取该属性可获得封装列表视图中所有项目的矩形屏幕坐标,这个属性允许应用程序调整组件的大小,以适合项目或确定鼠标是否在列表上 |
CheckBoxes | 列表项目旁边是否显示选择框 |
ChangeDelay | 改变结点被选择直至OnChage事件发生时的时间延迟 |
Checkboxes | 当ViewStyle属性为vsList或vsReport时,设置该属性为True可在列表项的旁边显示检查框 |
Color | 规定组件的背景颜色 |
Columns | 使用该属性可在列表视图中添加或删除列,或编辑其显示属性 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 规定组件的视觉外观是3D还是2D |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
FullDrag | 当标题栏被拖动时是否重绘 |
GridLines | 是否绘制表格线 |
GroupHeaderImages | 图像列表 |
Groups | TListGroup列表用于分组列表项目 |
GroupView | 开启或关闭组视图 |
HideSelection | 当焦点移至其他组件时原结点是否仍继续保持选择状态 |
HotTrack | 当鼠标移动至列表项目上时列表项目是否高亮显示 |
HotTrackStyles | 高亮显示的风格选择 |
HoverTime | 当选择列表项目时需在其上停留的时间,单位为ms |
IconOptions | 确定在列表视图排列中如何显示位图。将ViewStyle属性设置为vsIcon或vsSmallIcon时该属性有效 |
Images | 规定与树形列表关联的图片列表 |
LargeImages | 当ViewStyle属性为vsIcon时的图标列表 |
Items | 列出显示在视图组件中的项目 |
MultiSelect | 组件是否可以选择多个结点 |
OwnerData | 列表视图组件是否虚拟化 |
OwnerDraw | 列表视图是否响应OnDrawItem事件 |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentColor | 规定组件是否继承父组件的Color属性 |
ParentCtl3D | 规定组件是否继承父组件的Ctl3D属性 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ReadOnly | 使用该属性可确定列表视图能否用于输入数据 |
RowSelect | 当结点整行被选中时是否高亮显示 |
SelCount | 读取该属性可确定当前选择的项目数量,为1时,使用Selected属性可访问所选项目;大于1时,则检查列表项的Selected属性 |
ShowColumnHeaders | 是否显示标题头 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
ShowWorkAreas | 工作区的视觉属性是否显示 |
SmallImages | 当ViewStyle属性不为vsIcon时的图标列表 |
SortType | 决定树形视图自动分类的形式 |
StateImages | 选择用于显示状态的图像列表 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
ViewStyle | 列表项目的展示形式 |
Visible | 规定该组件在窗体上是否可见 |
# 13.1.1. BoundingRect 属性
property BoundingRect: TRect;
读取该属性可获得封装列表视图中所有项目的矩形屏幕坐标,这个属性允许应用程序调整组件的大小,以适合项目或确定鼠标是否在列表项目上。使用该属性时,列表视图的ViewStyle属性必须设置为vslcon或vsSmallIcon。 代码示例:
var
Rect:TRect:
begin
Rect := FThis.ListView1.BoundingRect;
FThis.Listview1.Height := Rect.Bottom;
end;
2
3
4
5
6
# 13.1.2. CheckBoxes 属性
property CheckBoxes: Boolean;
当ViewStyle属性设为vsList或vsReport时,如果把CheckBoxes属性设为True,列表视图中项的旁边将显示复选框,如同TCheckListBox组件一样。
# 13.1.3. Column 属性
property Column[Index: Integer]: TListColumn;
读取该属性可访问TListColumn对象,该对象描述报告风格列表视图中的列属性。Index 参数是Columns属性数组中的列索引。只有当ViewStyle属性为vsReport时Column有效。
# 13.1.4. ColumnClick 属性
property ColumnClick: Boolean;
使用该属性可指定,用户单击列标题时是否发生OnColumnClick事件。该属性为True时发生OnColumnClick事件;否则不发生该事件。
# 13.1.5. Columns属性
property Columns: TListColumns;
如果ViewStyle属性设为vsReport,列表视图的每一项将分成多栏,每一栏都是一个TListColumn对象,所有的栏构成TListColumn对象。在设计期,可以单击Columns属性旁的省略号"…"按钮打开"EditingColumns"窗口,然后建立和编辑栏的属性。 代码示例:
FThis.ListView1.Columns.Add;
# 13.1.6. GridLines 属性
property GridLines: Boolean;
设置该属性为True,可在列表视图中添加项目分隔行。只有ViewStyle属性为vsReport时 该属性才有效。
# 13.1.7. HideSelection 属性
property HideSelection: Boolean;
如果此属性设为True,当输入焦点从列表视图移到其他组件上时,原先选择的节点将不再处于被选择状态。如果此属性设为False,当输入焦点移走时仍然保持选择状态。
# 13.1.8. HotTrack 属性
property HotTrack: Boolean;
该属性为True时,鼠标经过列表项上时以高亮显示;否则不以高亮显示。
# 13.1.9. HotTrackStyles 属性
property HotTrackStyles: TListHotTrackStyles;
使用该属性可指定热点跟踪的风格,该风格指定了鼠标通过列表项时列表视图提供的反馈类型。
- HtHandPoint:鼠标指示器为手形。
- HtUnderlineCold:在鼠标指定项目后不跟踪时,在项目下划线。
- HtUnderlineHot:在鼠标指定的项目下划线。
# 13.1.10. ItemFocused属性
property ItemFocused: TListltem;
此属性指定或返回列表视图中具有输入焦点的项。一个列表视图中可以同时有多个项被选择,但只能有一个项具有输入焦点。
# 13.1.11. Itemlndex 属性
property ItemIndex: Integer;
读取该属性可确定所选的项目。列表中第1项的索引为0,列表中第2项的索引为1,依次类推。该属性为-1表示无选择项。如果列表组件支持多选择项,则该属性为有焦点的所选项的索引。
# 13.1.12. Items 属性
property Items: TListltems;
使用该属性可直接访问表示列表中项目的TListltem对象。在设计程序时,在对象观察器中设置该属性显示ListView Items Editor对讯框,利用此对话框可添加、删除项目或子项目,并编辑其显示属性。在程序运行时,可使用每个项目的Caption、Imagelndex和Statelndex属性改变列表项的外观。
# 13.1.13. Largelmages 属性
property Largelmages: TCustomlmageList;
当ViewStyle属性为vslcon时,设置该属性可指定列表中项目旁边将显示的位图。Items列表中的每一项与设置Imagelndex属性的位图相关联。
# 13.1.14. MultiSelect 属性
property MultiSelect: Boolean;
使用该属性可指定用户能否在列表中选择多个项目,为True时,可以多选;否则只能选择一个项目。
# 13.1.15. ReadOnly 属性
property Readonly: Boolean;
使用该属性可确定列表视图能否用于输入数据,为True时,列表视图只能显示而不能编辑内容;否则用户可以修改内容。
# 13.1.16. RowSelect属性
property RowSelect: Boolean;
在ViewStyle属性设为vsReport的前提下,如果把此属性设为True,用户可以一次选择一整行。
# 13.1.17. SelCount 属性
property SelCount: Integer;
读取该属性可确定,前选择项目的数量,为1时,使用Selected属性可访问所选项目;大于1时,要查找所选项目,则检查列表项的Selected属性。该属性只能在MultiSelect属性为True时大于1。
# 13.1.18. Selected 属性
property Selected: TListltem;
使用该属性可访问列表中第1个所选项的属性。当SelCount属性为0时,该属性为空。
# 13.1.19. ShowColumnHeaders 属性
property ShowColumnHeaders: Boolean;
设置该属性可指定列表视图中的列是否显示列标题。使用列表视图中的列时,ViewStyle属性必须设置为vsReport。
# 13.1.20. ShowWorkAreas属性
property ShowWorkAreas: Boolean;
在ViewStyle属性设为vsIcon或vsSmallIcon的情况下,通过定义工作区,可以把图标分组,如果ShowWorkAreas属性设为True,列表视图将把客户区分成几个工作区,每个工作区的颜色由TWorkArea的Color属性指定,标签由TWorkArea的DisplayName属性指定。
# 13.1.21. SmallImages 属性
property SmallImages: TCustomImageList;
设置该属性可指定当ViewStyle属性为vsSmallIcon、vsList或vsReport时,在列表项旁将显示的位图。每个列表项与Imagelndex属性指定的图像列表中的位图相关联。
# 13.1.22. SortType 属性
property SortType: TSortType;
设置该属性可指定列表中的项目顺序。
- stNone:不重新排序。
- stData:项的Data属性发生变化时重新排序。
- stText:项的Caption属性发生变化时重新排序。
- stBoth:项的Data属性或Caption属性发生变化时重新排序。
# 13.1.23. ViewStyle属性
ListView组件作为一个可以显示图标或者子项的列表组件,它最重要的属性就是ViewStyle属性,该属性决定了以哪种视图模式显示组件的项,这四种视图模式分别如下:
- vsIcon:大图标视图模式,在项的文本旁显示大的图标,在组件宽度足够的情况下,项是优先以平行排列的,排列不完的则自动换行显示在新行中。这个属性要和TListView的LargeImages属性一起使用;
- vsSmallIcon:小图标视图模式,与大图标模式一样,但是显示的是小的图标;要和TListView的SmallImages属性一起使用;
- vsList:列表视图模式,可以显示小图标,但是项是垂直排列的,只显示单列,不能进行拖放操作;
- vsReport:详细资料视图模式,是最丰富的选项,可以基本实现DBGrid的所有功能;它不但允许您查看项,还允许您查看为各项指定的任何子项。各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。对应地,只有在Details视图模式中起作用的组件属性为:GridLines和FullRowSelect,GridLines属性指示在包含组件中项及其子项的行和列之间是否显示网格线。FullRowSelect属性指示单击某项是否选择其所有子项(即整行选中),Columns属性是用来设置有哪些列,这个可以在设计时事先设定,也可以在程序中设定:
ListView1.Columns.Items[0].Caption:='列1';
ListView1.Columns.Items[1].Caption:='列2';//添加列
ListView1.Columns.Items[2].Caption:='列3';
ListView1.Columns.Items[2].Width:=300;//这里设定列的宽度
2
3
4
TListView的Items属性也是很重要的,用来向ListView中添加数据,Items属性是一个TListItem类,在进行数据添加时一般先定义个TListItem类。
# 13.2. 事件
- TListView组件主要事件列表
事件 | 何时触发 |
---|---|
OnColumnClick | 当用户单击栏的表头时,将触发该事件 |
OnColumnDragged | 当用户用鼠标左键拖动某一栏到一个新的位置时,将触发该事件 |
OnEdited | 当用户直接编辑修改了项的标签后,将触发该事件 |
OnInfoTip | 通过这个事件可以为列表视图中的每一项加上提示 |
OnSelectItem | 当列表视图中一个项被选择时,将触发这个事件 |
# 13.2.1. OnChange 事件
type TLVChangeEvent = procedure(Sender: TObject; Item: TListltem; Change: TItemChange) of object;
property OnChange: TLVChangeEvent;
2
该事件在列表中的项目改变发生,编写其事件处理程序可响应这种改变。
# 13.2.2. OnChanging 事件
type TLVChangingEvent = procedure(Sender: TObject; Item: TListltem; Change: TItemChange; var AllowChange: Boolean) of object;
property OnChanging: TLVChangingEvent;
2
该事件在列表中的项目将要改变时发生,编写其事件处理程序可有条件地阻止列表中的项目发生改变。
# 13.2.3. OnColumnClick事件
type TLVColumnClickEvent = procedure(Sender: TObject; Column: TListColumn) of object;
property OnColumnClick: TLVColumnClickEvent;
2
当用户单击栏的表头时,将触发该事件。这样就可以对项进行排序。在OnColumnClick事件中有一个TListColumn类型的参数Column,此参数返回用户单击的栏,利用Column参数可以对用户选中的栏进行访问及设置。
# 13.2.4. OnColumnDragged事件
property OnColumnDragged: TNotifyEvent;
当用户用鼠标左键拖动某一栏到一个新的位置时,将触发该事件。在使用此事件之前必须将TListView组件的FullTrag属性设置为True,表示可以拖动栏的位置,否则不能拖动,也就不能触发此事件。
# 13.2.5. OnColumnRightClick 事件
type
TLVColumnRClickEvent = procedure(Sender: TObject; Column: TListColumn;
Point: TPoint) of object;
property OnColumnRightClick: TLVColumnRClickEvent;
2
3
4
当用户右击列表视图中的列标题时发生该事件。
# 13.2.6. OnCompare 事件
type
TLVCompareEvent = procedure(Sender: TObject; Item1, Item2: TListItem; Data:
Integer; var Compare: Integer) of object;
property OnCompare: TLVCompareEvent;
2
3
4
在列表排序期间需要比较两个项目时发生该事件。当SortTypc属性为stData或stBoth并在调用AlphaSort方法或不用SortProc参数调用CustomSort方法时调用该事件处理程序。
# 13.2.7. OnEdited事件
property OnEdited: TLVEditedEvent;
当用户直接编辑修改了项的标签后,将触发该事件。OnEdited事件中有一个TListItem类型的参数Item,利用此参数可以对用户编辑的项进行访问;OnEdited事件中还有一个String类型的参数S,它是用户更改项的标签后,显示标签的内容。
# 13.2.8. OnEditing 事件
type
TLVEditingEvent = procedure(Sender: TObject; Item: TListItem; var
AllowEdit: Boolean) of object;
property OnEditing: TLVEditingEvent;
2
3
4
当用户开始编辑列表项的Caption属性时发生该事件,编写其事件处理程序可在用户编辑列表项的Caption属性前执行特定的操作。设罝AllowEdit参数为False,可防止用户编辑ListItem 参数指定的项目。该事件只在Readonly属性为False时发生。
# 13.2.9. OnGetlmagelndex 事件
property OnGetlmagelndex: TLVNotifyEvent;
当一个项目将要在列表视图组件中显示时发生该事件。使用该事件可在列表视图组件中显示项目前为项目动态地分配一个Imagelndex。
# 13.2.10. OnGetSubItemImage 事件
type
TLVSubItemImageEvent = procedure(Sender: TObject; Item: TListItem; Subitem: Integer;
var ImageIndex: Integer) of object;
property OnGetSubItemImage: TLVSubItemImageEvent;
2
3
4
当一个子项目将要在列表视图组件的列中显示时发生该事件。使用该事件可在列中显示子项目,为子项目动态地分配一个图像。该事件将重载由列表项的Subltemlmages属性指定的值。
# 13.2.11. OnInsert 事件
type TLV Deleted Event = procedure(Sender: TObject; Item: TListltem) of object;
property Onlnsert: TLVDeleted Event;
2
在选中列表视图中插入一新项目时发生该事件,Item参数为已插入到Items属性的Tlistltem 对象。
# 13.2.12. OnSelectltem 事件
properly OnSelectItem: TLVSelectItemEvent;
当选中列表视图组件中的项目时发生该事件。OnSelectItem事件中有一个TListItem类型的参数Item,利用此参数可以对用户编辑的项进行访问;OnSelectItem事件中还有一个Boolean类型的参数Selected。每次选择一个新项时将两次触发此事件,一次是释放以前被选择的项,Selected参数取值为False,代表释放Item参数指定的项;另外一次是选择新的项,Selected参数取值为True,代表选择Item参数指定的项。
# 13.3. 方法
- TListView组件主要方法列表
方法 | 功能描述 |
---|---|
AlphaSort | 将列表视图中的项按标签的字母顺序排序 |
Arrange | 重排图标 |
FindCaption | 此方法的调用可以搜索并返回一个TListItem类型的项 |
Scroll | 此方法可以使列表视图滚动 |
StringWidth | 此方法用于返回字符串的宽度 |
UpdateItems | 此方法可以重画指定范围内的项 |
# 13.3.1. AlphaSort方法
function AlphaSort: Boolean;
此方法可以将列表视图中的项按标签的字母顺序排序。例如使用下面的代码就能够将ListView1组件的项按标签的字母顺序排序:
FThis.ListView1.AlphaSort;
# 13.3.2. Arrange方法
type
TListArrangement = (arAlignBottom, arAlignLeft, arAlignRight, arAlignTop,
arDefault, arSnapToGrid);
procedure Arrange(Code: TList Arrangement);
2
3
4
此方法用于重排图标。Arrange方法只有在ViewStyle属性为vsIcon或vsSmallIcon时才起作用。Arrange方法中有一个TListArrangement类型的参数Code,此参数用于指定图标的排列方式,其取值及功能如下。
- arAlignBottom:图标底部对齐排列。
- arAlignLeft:图标左侧对齐排列。
- arAlignRight:图标右侧对齐排列。
- arAlignTop:图标顶部对齐排列。
- arDefault:按照窗口刚建立时的风格将图标从顶部排列。
- arSnapToGrid:将图标对齐到最近的网格,此值不支持虚拟模式。
# 13.3.3. Clear 方法
procedure Clear; override;
该方法用于删除列表组件中的所有项目。
代码示例:
FThis.ListViewl.Clear;
# 13.3.4. ClearSelection 方法
procedure ClearSelection; override;
调用该方法可取消列表组件中的选择项。
# 13.3.5. CopySelection 方法
procedure CopySelection(Destination: TCustomListControl); override;
该方法用于把选择项复制到另一个TCustomListControl子类中,Destination参数为接收项目的列表。
# 13.3.6. CustomSort 方法
type TLVCompare = function(IParam 1, IParam2, IParamSort: Integer): Integer stdcall;
function CustomSort(SortProc: TLVCompare; IParam: Longint): Boolean;
2
调用该方法可利用SortProc参数定义排序函数排序列表中的项目。SortProc参数指定比较 通过IParam1和IParam2传递的列表项的排序函数。排序函数返回一个整数,为0,表示IParaml 和IParam2相同;大于0,表示IParam1大于lParam2;小于0,表示IParam1小于IParam2。 CustomSort函数的IParam参数可选值作为第3个参数传递到排序函数中。如果排序成功,那么 该方法返回True。
# 13.3.7. DleteSelected 方法
procedure DeleteSelected; override;
该方法用于删除列表组件中的所有已选项目。
# 13.3.8. FindCaption方法
function FindCaption(StartIndex: Integer; Value: string; Partial, Inclusive, Wrap: Boolean): TListItem;
此方法的调用可以搜索并返回一个TListItem类型的项。FindCaption方法中有5个参数,功能如下。
- StartIndex:Integer类型,用于指定开始搜索的起始位置。
- Value:String类型,指定要搜索的项的标题符合的内容。
- Partial:Boolean类型,取True值,查找标题开头为Value参数指定的项;取False值,查找标题与Value参数指定的内容相同的项。
- Inclusive:Boolean类型,取True值,被StartIndex指定的项是第1个被选中的;取False值,开始查找的位置从StartIndex拟定的下一个位置开始。
- Warp:Boolean类型,取True值,搜索将从开始找到最后;取False值,搜索从StartIndex位开始查找,找到最后。
FindCaption方法返回的是第1个被找到的符合条件的项,如果没找到符合条件的,则返回列表中的第1项。
# 13.3.9. GetItemAt 方法
function GetItemAt(X, Y: Integer): TListItem;
调用该方法可获得在X和Y参数指定位置查找列表项的TListItem对象,X和Y为指定位置的像素坐标。如果没有查找到列表项,则返回空。
# 13.3.10. GetNearestltem 方法
function GetNearestItem(Point: TPoint; Direction: TSearchDirection): TListItem;
调用该方法从Point参数指定的位置开始查找,向Direction参数指定的方向移动,直到找到一个列表项。如果没有查找到列表项,则返回空。
# 13.3.11. GetNextltem 方法
function GetNextItem(StartItem: TListltem; Direction: TSearchDirection; States: TItemStates): TListItem;
调用该方法可从StartItem参数以Direction参数指定的方向查找下一个列表项。
# 13.3.12. GetSearchString 方法
function GetSearchString: string;
调用该方法可在列表视图有焦点时获得用户输入的字符序列。每,用户输入一个字符时, 列表视图就添加字符到查找字符串,并查找匹配的项。
# 13.3.13. IsEditing 方法
function IsEditing: Boolean;
调用该方法可确定用户足否正在编辑列表中的项目标题。如果用户正在编辑一个项目,则返回True;否则返回False。
# 13.3.14. SelectAll 方法
procedure SelectAll; override;
该方法用于选中视图中的所有项目。
# 14. THeaderControl组件
表头组件(THeaderControl)THeaderControl组件提供了一系列可改变尺寸的列,一般与列表框配合使用,用于把列表框中的信息归类。该组件可以分成几节,用户可以使用光标调整节的宽度或者把节拖到另一个位置,拖动时将触发节拖动事件(OnSectionTrack)。THeaderControl组件提供了标准的头元素,程序运行时操作表头并不会影响它下面的组件。比如,当表头改变尺寸时,它下面组件的列也应该随之改变,此时,开发者必须响应THeaderControl组件的尺寸改变事件(OnSetionResize),通过编写代码才能达到这一目的。
# 14.1. 属性
- THeaderControl组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
FullDrag | 当标题栏被拖动时是否重绘 |
HotTrack | 当鼠标移动至列表项目上时列表项目是否高亮显示 |
Images | 规定关联的图片列表 |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
Section | 访问表头组件中所有节 |
Visible | 规定该组件在窗体上是否可见 |
# 14.1.1. Images属性
用于指定一个图像列表,其中的图像将显示在节的标签旁边。每个节(THeadSection对象)通过它的ImageIndex属性指定一个图像。
# 14.1.2. Sections属性
此属性可以访问表头组件中所有的节。例如要在运行期动态地增加一节,程序示例代码如下:
var
MyHeadSection:TheadSection
begin
HeaderControl1.Section1.Items.Clear;
MyHeadSection:=HeaderControl1.Sections.Items.Add;
HeaderControl1.Sections.Items[0].Text:=MySection;
HeaderControl1.Sections.Items[0].Width:=100
end;
2
3
4
5
6
7
8
# 14.1.3. Style属性
此属性用于设置表头组件风格,默认值是hsButtons。若设为hsFlat,表头的节(按钮)是平坦的。它有如下两个用户可选值。
hsFlat
:表头的节是平坦风格的hsButton
:表头的节是按钮风格的
# 14.2. 事件
- THeaderControl组件主要事件列表
事件 | 何时触发 |
---|---|
OnDrawSection | 当用户选择这个节或节的宽度发生了变化需要重画时,将触发该事件 |
OnSectionClick | 当用户单击这个节时就相当于单击一个按钮,将触发该事件 |
OnSectionDrag | 当用户试图拖动某一节来改变它的顺序时,将触发该事件 |
OnSectionEndDrag | 当用户拖动某一节并且改变了它的顺序后,将触发该事件 |
OnSectionResize | 当用户用光标拖动节与节之间的分隔线导致节的宽度改变时,将触发该事件 |
OnSectionTrack | 当用户正在用光标拖动节与节之间的分隔线试图改变节的宽度时,将触发该事件 |
# 14.2.1. OnDrawSection事件
如果节(THeaderSection对象)的Style属性设为hsOwnerDraw(手动重画),当用户选择了这个节或节的宽度发生了变化需要重画时,将触发这个事件。
# 14.2.2. OnSectionResize事件
当用户用光标拖动节与节之间的分隔线导致节的宽度改变时,将触发该事件。 OnSectionResize事件设定了如下两个消息参数。
- HeaderControl:节所属的表头组件。
- Section:宽度改变的节。
# 14.2.3. OnSectionTrack事件
当用户正在用光标拖动节与节之间的分隔线试图改变节的宽度时,将触发该事件。其中,State参数表示当前的操作状态。 OnSectionTrack事件设定了如下几个参数:
HeaderControl
:节所属的表头组件Section
:宽度改变的节State
:表示当前的操作状态,取值有3种,tsTrackBegin表示用户已按下节与节之间的分隔线准备拖动;tsTrackMove表示分隔线正在被拖动;tsTrackEnd表示拖放已结束,用户释放了光标。Width
:开始拖动的节。
# 15. TstatusBar组件
状态栏组件(TStatusBar)TStatusBar组件是用来显示当前程序状态的。状态栏可以分为多个面板,用来显示不同状态的内容。
# 15.1. 属性
- TStatusBar组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoHint | 如果此属性设置为True,每个组件Hint属性上的文字自动提示在TStatusBar组件的第1个窗格上 |
BiDiMode | 使用该属性可为组件指定双向模式,控制文本的顺序、垂直滚动条的位置以及是否改变对齐方式 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Canvas | 此属性返回状态栏的画布 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
FullDrag | 当标题栏被拖动时是否重绘 |
Panels | 明确是否选中该复选框 |
ParentBiDiMode | 使用该属性可获得或设置组件是否使用其父组件的BiDiMode属性 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
SimplePanel | 如果此属性设置为True,状态栏只有一个窗格,窗格上显示的信息由SimpleText属性指定 |
SimpleText | 状态栏上的显示的信息由此属性决定 |
SizeGrip | 如果此属性设置为True,允许光标拖动状态栏改变其尺寸 |
Section | 访问表头组件中所有节 |
Visible | 规定该组件在窗体上是否可见 |
# 15.1.1. AutoHint属性
如果此属性设为True,每个组件Hint属性上的文字自动提示在TStatusBar组件的第1个窗格上。
# 15.1.2. SimplePanel属性
如果此属性设为True,状态栏将只有一个窗格,窗格上显示的信息由SimpleText属性指定。程序示例代码如下:
# 15.1.3. SimpleText属性
此属性决定状态栏上显示的信息。此属性在编辑时设置不起作用,程序运行后进行设置,发现状态栏上的栏目都消失,只显示SimpleText属性设置的内容,但是如果被其他窗口覆盖后状态栏将返回原状态。
# 15.1.4. SizeGrip属性
如果此属性设为True,状态栏的右下角会显示一个三角形,用鼠标光标单击这个三角形并拖动可以改变状态栏的尺寸。注意,此时不能将Align属性设置为alBottom、alRight或alClient。
# 15.2. 事件
- THeaderControl组件主要事件列表
事件 | 何时触发 |
---|---|
OnCreatePanelClass | 当状态栏将要被创建时,将触发该事件 |
OnDrawPanel | 当重绘状态栏视图时,将触发该事件 |
OnHint | 当状态栏的信息提示出现前,将触发该事件 |
# 16. TToolBar组件
工具栏组件(TToolBar)为用户提供了快捷菜单的访问方式。
# 16.1. 属性
- TToolBar组件主要属性
属性 | 功能说明 |
---|---|
ButtonCount | 工具栏中的按钮数量 |
Buttons | 工具栏中的按钮(TToolButton)列表 |
Canvas | 工具栏的画布 |
CustomizeKeyName | 工具栏按钮自定义按钮配置Key名称 |
CustomizeValueName | 工具栏按钮自定义按钮配置Value名称 |
RowCount | 工具栏中的列数 |
Align | 决定容器(父组件)对该组件的归属方式 |
AllowTextButtons | 是否允许仅包含文本内容的按钮显示在工具栏中 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
ButtonHeight | 规定工具栏中按钮(TButton)的高度 |
Caption | 定义组件的文字描述信息 |
Color | 规定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 规定组件的视觉外观是3D还是2D |
Customizeable | 用户是否在程序运行时可以自定义工具栏 |
DisableImages | 规定显示在不启用按钮中的图片 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Flat | 使工具栏适应工具按钮的大小 |
Font | 规定组件中的文字字体属性 |
HideClippedButtons | 隐藏被剪切的按钮 |
HotImages | 当指向按钮时显示的图片的列表 |
Images | 规定与工具栏关联的图片列表 |
Indent | 工具栏左侧的空白 |
Menu | 与菜单栏项目同步 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Transparent | 工具栏是否可以变形 |
Visible | 规定该组件在窗体上是否可见 |
Wrapable | 使工具栏组件自动换行 |
# 16.2. 事件
- TToolBar组件主要事件列表
事件 | 何时触发 |
---|---|
OnAdvancedCustomDraw | 当状工具栏背景绘制时的分离阶段,将触发该事件 |
OnAdvancedCustomDrawButton | 当状工具栏按钮绘制时的分离阶段,将触发该事件 |
OnCustomDraw | 当工具栏开始绘制时,将触发该事件 |
OnCustomDrawButton | 当工具栏按钮开始绘制时,将触发该事件 |
OnCustomizeAdded | 当用户向工具栏添加按钮时触发该事件 |
OnCustomizeCanDelete | 当用户尝试删除工具栏中的按钮时,将触发该事件 |
OnCustomizeCanInsert | 当用户尝试向工具栏中新增按钮时,将触发该事件 |
OnCustomized | 当用户完成对工具栏的自定义更改时,将触发该事件 |
OnCustomizeDelete | 当用户从工具栏中删除按钮时触发该事件 |
OnCustomizeNewButton | 当用户向工具栏中新增按钮时,触发该事件 |
OnCustomizeReset | 当用户取消对工具栏的自定义修改时,触发该事件 |
OnCustomizing | 当用户打开自定义对话框用于对工具栏进行自定义时,触发该事件 |
# 16.3. 方法
- TToolBar组件主要方法列表
方法 | 功能描述 |
---|---|
GetChildren | 让流系统按照菜单显示的顺序加载并保存子组件 |
TrackMenu | 工具栏的快捷键按下时调用 |
# 17. TCoolBar组件
TControlBar作一个工具栏风格的可以自动停靠的菜单。
# 17.1. 属性
- TCoolBar组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoSize | 组件尺寸自适应于内容 |
BandBorderStyle | 决定TCoolBand的band的边缘尺寸 |
BandMaxSize | 当TCoolBand最大化时的尺寸限制 |
Bands | 列举栏目中的TCoolBands |
Bitmap | 定义用于显示在TCoolBar的band中的图像 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
Color | 规定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Ctl3D | 规定组件的视觉外观是3D还是2D |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
FixedOrder | TCoolBar中是否可以重新对band进行排序 |
FixedSize | Band是否维持统一的高度 |
Font | 规定组件中的文字字体属性 |
Images | 规定与工具栏关联的图片列表 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
Vertical | Band是水平排列还是垂直排列 |
Visible | 规定该组件在窗体上是否可见 |
# 18. TPageScroller组件
TPageScroller组件建立了用于显示一个小窗口,比如工具栏。
# 18.1. 属性
- TPageScroller组件主要属性
属性 | 功能说明 |
---|---|
Align | 决定容器(父组件)对该组件的归属方式 |
Anchors | 该属性指定组件如何停放在其父窗体中 |
AutoScroll | 当鼠标悬停在滚轮方向按钮上时自动滚动 |
BorderWidth | 使用该属性可获得或设置组件边框的宽度 |
ButtonSize | 规定滚动条方向按钮的大小 |
Color | 规定组件的背景颜色 |
Constraints | 使用该属性可指定组件宽度和高度的最小值和最大值,当其包含最大值或最小值时,重新调整组件的大小不能超出该限制 |
Control | 包含在页面组件中的组件 |
DoubleBuffered | 确定组件图像是直接在窗口渲染或者是首先在内容中生成位图 |
DragCursor | 当拖动组件时显示的鼠标指针图像类型 |
DragKind | 使用该属性可获取或设置组件是拖动操作还是拖动/停靠操作 |
DragMode | 使用该属性可控制用户何时可拖动组件 |
Enabled | 规定组件是否响应鼠标、键盘和计时器事件 |
Font | 规定组件中的文字字体属性 |
Margin | 定义窗口内容与组件 |
ParentDoubleBuffered | 规定组件是否继承父组件的DoubleBuffered属性 |
ParentFont | 规定组件是否继承父组件的字体属性信息 |
ParentShowHint | 使用该属性可确保窗体中的所有组件以统一格式显示或不显示其帮助提示 |
PopupMenu | 将组件与菜单栏中的位置绑定 |
Position | 滚动条在组件中的位置 |
ShowHint | 当鼠标光标悬停在组件上时是否显示提示内容 |
TabOrder | 规定组件在父组件中的换栏位置序号 |
TabStop | 使用该属性可允许或不允许用Tab键访问组件 |
Visible | 规定该组件在窗体上是否可见 |
# 18.2. 事件
- TPageScroller组件主要事件列表
事件 | 何时触发 |
---|---|
OnScroll | 当滚动条开始滚动时,将触发该事件 |
# 18.3. 方法
- TToolBar组件主要方法列表
方法 | 功能描述 |
---|---|
GetButtonState | 返回页面滚动按钮的状态 |