第六章列表控件_第1页
第六章列表控件_第2页
第六章列表控件_第3页
第六章列表控件_第4页
第六章列表控件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章列表控件第一页,共三十六页,编辑于2023年,星期四6.1面板组件(Panel) 面板组件在标准(Standard)页标签上。该组件用来在窗体上放置一面板,在面板上可以放置其它的组件。 6.1.1面板组件的属性 1.BevelInner属性 BevelInner属性确定面板组件的内部斜面。第二页,共三十六页,编辑于2023年,星期四2.BevelOuter属性BevelOuter属性确定面板组件的外部斜面。3.BevelWidth属性 BevelWidth属性确定面板的内部斜面和外部斜面的宽度(单为像素)。BevelInner属性确定内部斜面如何出现;BevelOuter属性确定外部斜面如何出现。使用这三个属性就可以改变面板的外观。第三页,共三十六页,编辑于2023年,星期四 4.BorderWidth属性 BorderWidth属性用来确定面板边界的宽度(单位象素)。默认值为0,即没有边界。 5.BorderStyle属性 BorderStyle属性确定面板边界的类型:bsNone,表示无边界;bsSingle表示单线边界。 6.Ctrl3D属性 Ctrl3D属性确定面板是否为立体的。第四页,共三十六页,编辑于2023年,星期四 7.Cursor属性 Cursor属性用来确定当鼠标指针移动到面板上时,鼠标指针的形状。 6.1.2面板组件的事件 与面板组件有关的主要事件有单击事件(OnClick)与双击事件(OnDblClick)、OnEnter、OnExit、OnStartDrag、OnEndDrag等事件第五页,共三十六页,编辑于2023年,星期四6.2快捷按钮组件(SpeedButton) 快捷按钮组件在附加页标签上。 6.2.1快捷按钮组件的属性 1.AllowAllUp属性 该属性为布尔型,它确定该快捷按钮所在组中的所有快捷按钮是否可同时不选定(按钮在弹起的状态)。因此,该属性只能用在成组的快捷按钮上(即每一快捷按钮的GroupIndex属性非零),若GroupIndex为零,则该属性无效。第六页,共三十六页,编辑于2023年,星期四 默认值为False,就是成组的快捷按钮中有一个总是选定的,使用Down属性确定预选定的快捷按钮;若该属性为的值为True,则成组的快捷按钮没有选定的。 改变成组中一个快捷按钮的AllowAllUp属性值,将改变该组中的所有AllowAllUp属性值。 也可对成组的单个位图按钮使用AllowAllUp属性(GroupIndex的值大于零),从而该按钮的选定与不选定由用户单击来确定,就像复选框的工作方式一样。要使得单个的快捷按钮像这种方式工作,设置其GroupIndex的值大于零(但与任何其它快捷按钮的GroupIndex值不同),并且设置AllowAllUp属性的值为True。第七页,共三十六页,编辑于2023年,星期四 2.Down属性 该属性为布尔型,它确定该按钮是处于选定还是不选定状态。默认值为False,即处于不选定状态。 虽然对一组快捷按钮的AllowAllUp属性都可以设置为False,但必须对一个快捷按钮设置Down属性。也可在运行时设置Down的属性,无须用户单击选定快捷按钮。第八页,共三十六页,编辑于2023年,星期四 3.Glyph属性 Glyph指定出现在快捷按钮上的位图(表示该按钮的功能)。使用对象编辑器上该按钮后的按钮可选择位图文件(后缀为.BMP),或在运行时指定位图文件。 在快捷按钮上的单个位图中可以指定多达4个的图像。 对只有一个图像的情形,Delphi对不同的状态使用第一个图像,只是暗淡不同而已。对在位图中有多个图像的情形时,必须使用NumGlyphs属性指定图像号。所有的图像必须大小相同,水平并排排列。 单击对象编辑器的该属性旁边的值栏,就会打开一个图形编辑器。在图形编辑器中选择Load按钮来选择要使用图像的.BMP文件。第九页,共三十六页,编辑于2023年,星期四 4.GroupIndex属性 该属性为整型变量,它确定哪一快捷按钮加入到组中。 默认值为0,表示该快捷按钮不属于组。当用户单击该组件时,它处于凹下状态,而当用户释放鼠标时,它就恢复正常的弹起状态。 具有相同GroupIndex属性(非0)的快捷按钮,就在相同的组中。当用户单击组中的一个快捷按钮时,它就处于凹下状态,直到用户再次单击该组中的另一快捷按钮为止。以这种方式使用的按钮给用户以互斥的选择。第十页,共三十六页,编辑于2023年,星期四 5.Layout属性 Layout属性确定出现在位图按钮或加速按钮上图像的位置。 6.Margin属性 该属性为整型变量,它确定在图形的边界(由Glyph属性指定的)和按钮的边界间的像素数。 边沿分界是由图像和文本(由Layout属性指定)的分布确定的。如Layout的值为blGlyphLeft,在图像的左边和按钮的左边则出现边沿。若Margin为3,则边沿为3个像素,若Margin为0,则没有边沿。 默认值为-1,表示图像和文本(由Caption属性指定)居中。第十一页,共三十六页,编辑于2023年,星期四 7.NumGlyphs属性 NumGlyphs指定用于加速按钮上的图像(由Glyph属性指定)数。 若在一个位图中有多个图像,则必须使用该属性指定位图中的图像数。所有的图像必须具有相同的大小,并排排列。默认值为1,有效值为1到4。也就是说最多4个图像。 在按钮上显示哪一个图像是由按钮的状态确定的,如表6-3所示。 对于只有一个图像的情形,Delphi对不同的状态使用相同的图像,只是暗淡不同而已。第十二页,共三十六页,编辑于2023年,星期四 8.Spacing属性 该属性为整型变量,它确定出现在加速按钮图像的位置。即在图像(由Glyph属性指定)和文本(由Caption属性指定)之间的像素数(正数时)。默认值为4。若为0,则其间没有空隙;若为-1,则文本出现在图像与按钮边界中央。 6.2.2快捷按钮组件的事件 与快捷按钮组件有关的主要事件有单击事件(OnClick)与双击事件(OnDblClick)。第十三页,共三十六页,编辑于2023年,星期四6.3制作工具栏 在窗体上建立工具栏是很方便的。首先,在窗体中加入面板,并且将其Align属性设置为alTop,这时面板会保持它原来的高度,但可调整它的宽度至充满整个窗体,甚至当改变窗体的大小时,面板也可自行调整它的宽度。然后在其中加入快捷按钮或其它的组件。第十四页,共三十六页,编辑于2023年,星期四 可以在窗体中添加许多的工具栏。这时,它们会根据加入的顺序垂直排列在窗体的上端(最后加入的工具栏在最上端)。 快捷按钮有三种可能的操作模式。它们可以像正常的按钮一样、单击时切换状态或像一组单选钮一样。 对快捷按钮使用Glyph属性来指定图样。可以通过快捷按钮的表现来给使用者了解按钮现在的状态和功能,这包括利用Down属性表示按钮是否被按下,使用Enabled属性表示按钮是否可用。第十五页,共三十六页,编辑于2023年,星期四 为了表示一组互斥的选择,可通过GroupIndex属性对快捷按钮进行分组,将相关的快捷按钮放在同一组中,因而当单击该组中的一个按钮时,其它的按钮都会凸起来。 在对快捷按钮分组后,要定义一个切换键:单击该按钮,可使该组中没有按钮被选定。定义切换键使用快捷按钮的AllowAllUp属性。 制作完整的工具栏,请参考6.4中的例子。第十六页,共三十六页,编辑于2023年,星期四6.4制作状态栏 制作状态栏,可在窗体中加入一个面板组件,并且将它的Align属性设置为alBottom,并清除Caption属性的值。 对状态栏可以将它分成几个独立的状态框(加入新的面板组件)或使用BevelInner及BorderWidth属性来产生立体的效果。 更新状态栏的信息可以反应应用程序的当前状态。状态栏显示的文字就是面板组件的Caption属性值,可以在事件处理程序中加入改变Caption属性值的程序代码来更新状态栏,以反应当前的程序状态。第十七页,共三十六页,编辑于2023年,星期四6.5使用工具栏组件设计工具栏 6.5.1工具栏组件 工具栏组件在Win32页标签上,可用来管理和安排可视的组件。使用工具栏组件具有下列优点: 在工具栏组件上按钮的大小和间距自动保持一致;其它的控件也自动保持它们的相对位置和高度;若在一行中按钮显示不下,可以自动折行显示。第十八页,共三十六页,编辑于2023年,星期四 1.工具栏组件的属性 ⑴Align属性 Align属性用来确定该组件与窗体的对齐方式,也就是在窗体中的位置。 ⑵Autosize属性 该属性为布尔型,当为True时,工具栏的大小随着内容的变化而变化。 ⑶ButtonHeight属性 该属性为整型,用来确定工具栏上的按钮和其它组件的高度,单位为像素。第十九页,共三十六页,编辑于2023年,星期四 ⑷ButtonWidth属性 该属性为整型,用来确定工具栏上的按钮和其它组件的宽度,单位为像素。 ⑸Flat属性 该属性为布尔型,当为True时,工具栏上按钮的边框由普通边框变为弹出式边框。平时按钮和工具栏融为一体,当鼠标指针移动到按钮上时,按钮自动从工具栏上浮现出来。第二十页,共三十六页,编辑于2023年,星期四 ⑹Images属性 列出工具栏按钮上出现的图标。每一按钮的ImageIndex属性确定显示指定的图标。若不指定图标,则按钮上不显示图标。 ⑺List属性 该属性为布尔型,当为True时,图标占据按钮的左半部,标题在右半部;否则图标占据按钮的上半部,标题在下半部。 ⑻ShowCaption属性 该属性为布尔型,当为它True时,工具栏上的所有按钮显示文本(即Caption属性的内容,这时可能改变按钮的大小),否则不显示。第二十一页,共三十六页,编辑于2023年,星期四 2.工具栏组件的事件 与工具栏组件有关的主要事件有单击事件(OnClick)与双击事件(OnDblClick)。 6.5.2工具栏按钮组件 工具栏按钮(ToolButton)组件是一种特殊的按钮组件,它只配合工具栏组件使用,不能放置在其他窗口组件上。第二十二页,共三十六页,编辑于2023年,星期四 要在工具栏组件上添加工具按钮,右单击工具栏组件,在弹出的快捷菜单中选择“NewButton”菜单命令即可生成一个空白的工具栏按钮,生成的工具栏按钮依次在工具栏组件上排列。 工具栏组件自己生成工具栏按钮,因此随着工具栏组件的移动或隐藏,工具栏按钮也进行相应的移动或隐藏。第二十三页,共三十六页,编辑于2023年,星期四 1.工具栏按钮的属性 ⑴Grouped属性 该属性为布尔型,当为它True并且Style属性的值为tbsCheck时,则同一组中的按钮一次只能选定一个。 对按钮分组右单击工具栏组件,在弹出的快捷菜单中选择“NewSeparator”菜单命令即可。 ⑵ImageIndex属性 该属性为整型,用来确定出现在工具栏按钮上的图标。若其值为0,则工具栏按钮将显示工具栏组件Images属性所确定的图标列表中的第1个图标。第二十四页,共三十六页,编辑于2023年,星期四 ⑶Down属性 该属性为布尔型,当为它True时,工具栏按钮被选定,这时按钮为凹下的。当按钮不选定时,按钮为凸起的。 ⑷Style属性 确定工具按钮的显示风格。 2.工具栏组件的事件 与工具栏组件有关的主要事件有单击事件(OnClick)。第二十五页,共三十六页,编辑于2023年,星期四6.5.3设计工具栏1.工具栏设计的操作过程设计工具栏采用下列的操作过程:第1步:设置图表列表。 在Win32页标签中选择图表列表组件,将其放到窗体上。双击窗体上的图标列表组件,打开图标列表编辑框(如图6-3所示)。第二十六页,共三十六页,编辑于2023年,星期四第二十七页,共三十六页,编辑于2023年,星期四在该对话框中添加工具栏按钮要使用的图标。第2步:设置工具栏。在窗体上添加工具栏按钮组件,并设置其属性。第3步:设置工具栏按钮。在工具栏组件上添加工具栏按钮,并设置其属性。第4步:编写按钮事件的处理程序。第5步:运行程序,查看设置后的效果。第二十八页,共三十六页,编辑于2023年,星期四6.6使用状态栏组件设计状态栏 状态栏组件位于Win32页标签中。 6.6.1状态栏组件的属性 1.Align属性 Align属性用来确定该组件与窗体的对齐方式,也就是在窗体中的位置。其取值如表6-5所示。默认值为alBottom,即状态栏位于主窗口的底部。第二十九页,共三十六页,编辑于2023年,星期四 2.SimplePanel属性 该属性为布尔型,当为True时,状态上只有单个面板,面板上显示的内容为SimpleText属性的值,否则状态栏上有多个面板。 3.SimpleText属性 该属性为字符串型。若状态栏上只有单个面板,该属性的值就是状态栏上显示的内容。 4.SizeGrid属性 该属性为布尔型,当为True时,可在运行时改变状态栏的大小。第三十页,共三十六页,编辑于2023年,星期四 5.Canvas属性 该属性为只读型的,在运行时提供对状态栏上绘图的存取。 6.Panels属性 该属性包含了状态栏的各个显示面板,在设计时可向状态栏组件添加、删除、修改面板。其方法是单击该属性旁的“…”按钮,打开面板编辑器即可。 6.6.2在状态栏组件中添加或删除显示面板 在状态中添加或删除面板面板采用下面的操作过程: 第1步:单击状态栏组件Panel属性旁的“…”按钮,打开面板编辑器,如图6-5所示。第三十一页,共三十六页,编辑于2023年,星期四第三十二页,共三十六页,编辑于2023年,星期四 第2步:在面板编辑器窗口中添加、删除或改变面板的顺序。 第3步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论