Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:10:55
delphi多页组件(TPageControl)使用方法详解

delphi多页组件(TPageControl)使用方法详解|实例

TPageControl 组件是一组页面集,用于构造一个多页对话框,它显示多个交互页(TTabSheet 对象),用户通过选择出现在控制上部的标签,可以选择不同的页。在设计时要加入新页,用鼠标右键单击该组件对象,出现一弹出菜单,选择“New Page”菜单项。

此组件用于需要显示大量信息的时候,屏幕上不可能把这些信息同时显示出来,解决的办法之一就是打开多个窗口,但是要管理好这些窗口不是一件很简单的事。最好的解决办法就是把这些信息分门别类,放在同一个窗口的不同页上,这样能够节省大量的屏幕空间,翻阅起来又非常方便,就好比一本书,如果把书的每一页拆下摊在桌子上,要占很大的地方,如果装订成书,就只占一本书的地方。

Windows 风格的多页组件是用TPageControl 组件实现的,在TPageControl 组件上按下鼠标右键,在弹出的菜单中选择“New Page”命令,Delphi 7 将自动增加一页,默认的标签为“TabSheet+序号”。

多页组件具有如下特点:

• 在设计期就能够直接按多页组件在页与页之间切换,而Win 3.1 风格的多页组件只有在修改ActivePage 属性后才能切换到另一页,不方便也不直观。

• 不需要与TTabControl 组件配合使用,在程序中也不需要响应按钮的事件。

• TPageControl 组件的每一页都是一个TTabSheet 对象,为在运行时操纵每一页提供了极大方便。

1.TPageControl 组件的典型用法

TPageControl 组件主要用于程序的选项窗口,因为选项窗口拥有很多方面的设置。在TPageControl组件上单击鼠标右键,在弹出式菜单中选中“New Page”菜单命令,将会增加一个新的页面。对于TPageControl 组件,利用鼠标左键单击标签与单击页面位置选中的对象是不同的。如果单击标签,则选中了整个组件,同时设置当前激活页,这时按下Delete 键,会把整个组件删除。如果单击页面位置,则选中了当前激活页的页面,这时按下Delete 键,只删除当前选中的页面。在TPageControl 组件的不同页面中,可以加入不同的组件。

2.TPageControl 组件的重要属性

·ActivePage 指定或返回当前活动的页

·ActivePageIndex 此属性可以使某个序号的页成为当前活动的页

·Images 此属性用于指定一个图像列表

·PageCount 此属性返回多页组件的页数

·Pages 此属性返回由多页组件上所有页组成的数组

下面介绍程序中TPageControl 组件常用的属性。

(1)ActivePage 属性

在选中整个组件的情况下,改变ActivePage 属性,可以改变当前的激活页。

(2)ActivePageIndex 属性

此属性可以使某个序号的页成为当前活动页,在程序中,经常利用此属性来获取当前页。

(3)Images 属性

改变Images 属性,使之与某个ImageList 组件相关联,为每个页指定一个图标,方法为改变

ImageIndex 属性,指定相关ImageList 组件中的图标索引值。

(4)Pages 属性

此属性返回由TPageControl 组件上所有的页组成的数组。利用此数组可以对TPageControl 组件的页TabSheet 进行相关的操作,如Caption、Enabled、Hint、Visible 等属性。

3.TPageControl 组件的重要方法

·FindNextPage 此函数返回CurPage 参数指定的页的相邻页

·SelectNextPage 此过程用于选择当前页的前一页或下一页

下面介绍程序中TPageControl 组件的常用方法。

(1)FindNextPage 方法

此方法可以返回CurPage 参数指定页的相邻页,它包含3 个参数。

• CurPage 参数:取值为TTabSheet 类型,用于指定TTabSheet。

• GoForward 参数:取值为Boolean 类型,True 值取下一页,False 值取上一页。

• CheckTabVisible 参数:取值为Boolean 类型,True 值为检查TTabSheet 的TabVisible 属性,如果TabVisible 属性为False,则不显示此页而直接跳至下一页或上一页;如果CheckTabVisible 参数为False,则不检查TTabSheet 的TabVisible 属性,即不管TabVisible 属性为True 还是False,都显示这一页的内容。

下面的代码是将一个名称为PageControl1 的TPageControl 组件顺序往下移动一页,而不检测TTabSheet 的TabVisible 属性:

PageControl.ActivePage:=PageControl.FindNextPage(P.ActivePage,True,False);

(2)SelectNextPage 方法

此方法用于选择当前页的上一页或下一页,与FindNextPage 方法类似,只是其参数中没有CurPage参数,只有GoForward 参数和CheckTabVisible 参数,取值及功能请参见FindNextPage 方法的说明。

下面的代码是将一个名称为PageControl1 的TPageControl 组件顺序往前移动一页,并且检测TTabSheet 的TabVisible 属性:

PageControl.SelectNextPage(False,True);




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759