版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章工具状态栏与多选项卡 上章回顾:上章回顾: 菜单菜单 主菜单主菜单 快捷菜单快捷菜单第第1111章章 工具状态栏与多选项卡工具状态栏与多选项卡第11章工具状态栏与多选项卡 本章要点:本章要点: 工具栏工具栏 状态栏状态栏 PageControl第11章工具状态栏与多选项卡11.1 循序渐进学理论循序渐进学理论 随着随着WindowsWindows操作系统风行世界,各种基操作系统风行世界,各种基于于WindowsWindows的应用程序及各类娱乐软件也日益的应用程序及各类娱乐软件也日益为人们所熟悉。这些软件的共同特点之一就为人们所熟悉。这些软件的共同特点之一就是都包含了工具栏和状态栏及其
2、多项选项卡。是都包含了工具栏和状态栏及其多项选项卡。第11章工具状态栏与多选项卡u目前大部分Windows应用程序中,含有工具栏和状态栏己形成了一种常规。u工具栏一般位于窗口的项部,状态栏一般位于窗口的底部,用于显示当前的状态及一些提示信息11.1 工具栏工具栏第11章工具状态栏与多选项卡u用面板构成工具栏u使用工具栏组件设计工具栏u使用CoolBar组件设计工具栏u使用控件栏组件设计工具栏u状态栏设计1 、工具栏的设计方法、工具栏的设计方法第11章工具状态栏与多选项卡u用面板构成工具栏用面板构成工具栏 工具栏用于实现具体的功能实现,一般是通过面板组件和快捷按钮组件进行设计。快捷按钮快捷按钮
3、快捷按钮(SpeedButton)在组件板的Additional选项卡上,默认形状为正方形,当然也可以改变它的形状和大小。快捷按钮的常用属性:Caption属性:用于设置快捷按钮表面所显示的文本。Glyph属性:用于设置快捷按钮表面的位图。第11章工具状态栏与多选项卡GroupIndex属性:通过设置GroupIndex属性,可以像使用复选框或单选按钮那样来使用快捷按钮。l按下某个按钮时,只有被选择的按钮处于按下状态。l而其他的快捷按钮均处于弹起状态,就应将这一组快捷按钮的GroupIndex属性赋予相同的值。l该值不能和其他组的GroupIndex值相冲突。l要使某按钮被选中时保持按下状态应
4、给该按钮的GroupIndex属性赋予一个大于0的整数值。否则在松开按钮后,它也会自动弹起。第11章工具状态栏与多选项卡Hint属性:用于设置快捷按钮的提示功能及在状态栏所显示的文本。Layout属性:用于设置快捷按钮表面的文本和位图的显示风格。 Down属性:用于判断快捷按钮是否处于被按下状态。AllowAllUp属性:将快捷按钮的AllowAllUp属性设为True时,当单击处于按下状态的该快捷按钮时,它可恢复弹起状态。 l当在设置某个快捷按钮的AllowAllup属性时,其他与该按钮的GroupIndex属性值相同的快捷按钮的AllowAllUp属性也会发生相同的变化。第11章工具状态栏
5、与多选项卡面板面板面板是一个容器型的组件,在面板上可以放置其他组件(包括面板组件)。所有放置在面板上的组件都以面板为父组件。在工具栏设计中一般将面板的Align属性设为alTop,使面板与窗体的顶部对齐。第11章工具状态栏与多选项卡用面板构成工具栏用面板构成工具栏在面板上放置一些快捷按钮可构成工具栏在面板上放置一些快捷按钮可构成工具栏u设计过程设计过程为窗体添加一个面板组件在面板中放置三个小面板,用以对快捷按钮按菜单划分。在小面板上放置快捷按钮等组件。链接工具栏与菜单的OnClick事件编写事件响应代码 【例【例11-1】用面板和快捷按钮建立工具栏】用面板和快捷按钮建立工具栏第11章工具状态栏
6、与多选项卡u 设计界面设计界面第11章工具状态栏与多选项卡procedure TForm1.newClick(Sender: TObject);beginmemo1.Clear;end;procedure TForm1.openClick(Sender: TObject);beginwith opendialog1 doif execute thenmemo1.Lines.LoadFrom);end;procedure TForm1.saveClick(Sender: TObject);begin with savedialog1 doif execute thenmemo1.Lines.sa
7、veto);end;procedure TForm1.cutClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.CutToClipboard;end;第11章工具状态栏与多选项卡procedure TForm1.quitClick(Sender: TObject);beginclose;end;procedure TForm1.copyClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.copyToClipboard;end; procedure TForm1.pastC
8、lick(Sender: TObject);beginmemo1.PasteFromClipboard;end;procedure TForm1.fontClick(Sender: TObject);beginif fontdialog1.execute thenmemo1.Font:=fontdialog1.Font;end;第11章工具状态栏与多选项卡procedure TForm1.colorClick(Sender: TObject);begin if colordialog1.execute thenmemo1.color:=colordialog1.color;end;proced
9、ure TForm1.N16Click(Sender: TObject);beginmessagedlg(欢迎使用本软件,mtinformation,mbok,0) ;end;procedure TForm1.ComboBox1Change(Sender: TObject);beginmemo1.Font.Name:=combobox1.Text;end;procedure TForm1.ComboBox2Change(Sender: TObject);beginmemo1.Font.Size:=strtoint(combobox2.Text);end;第11章工具状态栏与多选项卡u用工具栏组
10、件构成工具栏用工具栏组件构成工具栏 DelphiDelphi提供了新的工具栏提供了新的工具栏(ToolBar)(ToolBar)组件,组件,位于组件板的位于组件板的Win32Win32选项卡上,可用来直接创选项卡上,可用来直接创建工具栏。建工具栏。主要属性有:主要属性有:EdgeBorders属性:该属性设置工具栏的属性:该属性设置工具栏的边界,有四个属性值;边界,有四个属性值; ebLeft(ebLeft(左边界左边界) )、ebTop(ebTop(上边界上边界) )、 ebRight(ebRight(右边界右边界) )、ebBottom(ebBottom(底边界底边界) )Flat属性:该
11、属性用来设置工具栏上的按属性:该属性用来设置工具栏上的按钮的显示效果钮的显示效果Grouped属性:该属性用来设置工具栏上属性:该属性用来设置工具栏上的相邻按钮为一组,同组中的按钮为单选的相邻按钮为一组,同组中的按钮为单选第11章工具状态栏与多选项卡Menuitemt属性:该属性用来设置工具栏上的按钮同菜单命令连接起来Style属性:该属性用来设置工具栏上的按钮的类型工具栏上添加的按钮属于TToolButton类型,每个按钮都可用对象查看器设置属性。Style属性 该属性提供了以下属性值。ltbsButton:表示标准按钮(缺省)。ltbsCheck:表示具有复选功能或单选功能的按钮。如果按钮
12、不与其他按钮编组,则具有复选功能。如果与其他按钮一起编组,则具有单选功能。第11章工具状态栏与多选项卡ltbsDevider:表示一条竖线型分隔条。ltbsDropDown:表示凹陷式按钮,但需要使用其他组件进行支持。ltbsSeparator:表示空格型分隔条。Grouped属性l要使一组按钮具有单选功能,通常要给工具栏上相邻按钮分组。 l将组中每个TToolButton按钮的Grouped属性设置为True,这些按钮必须是相邻的。l按钮分组时,如果遇到一个按钮的Grouped属性不是True,或其Style属性不是tbsCheck,或添加了一个分隔条,则分组自动结束。第11章工具状态栏与多
13、选项卡MenuItem属性l要使工具栏上按钮与相应的菜单命令对应,请在MenuItem属性中选择相应的菜单命令名称(Name属性)。l但是设置MenuItem属性后,按钮将不再保留位图或需要重新设置位图。Hint属性l各工具栏上按钮的功能提示。l要在程序运行时能显示按钮的功能提示,还得将窗体Form1的ShowHint属性和工具栏ToolBar1的ShowHint属性设置为True。第11章工具状态栏与多选项卡ImageIndex为按钮提供位图。l右击窗体中的ImageList1组件,将打开一个快捷菜单,从中选择ImageList Editor命令,打开图像列表编辑器窗口。l单击Add按钮,可
14、增加一幅位图。l将工具栏上按钮用到的位图按顺序加载到Images列表中,然后单击OK按钮返回。l再将ToolBar组件的Images属性设置为ImageList组件的Name属性。l提示:如果ImageList加载位图的顺序与工具栏上的按钮顺序不一致,请将每一个TToolButton对象的ImageIndex属性设置位图加载的序号。第11章工具状态栏与多选项卡u设计过程设计过程往窗体中添加一个ToolBar组件工具栏上添加快捷按钮(不是快捷按钮组件)。右击工具栏组件,打开一快捷菜单。如果要添加按钮,选择New Button命令;如果要添加分隔条,选择New Separator命令。设置工具栏上
15、按钮的属性。为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码【例【例11-2】用工具栏按钮建立工具栏,】用工具栏按钮建立工具栏,第11章工具状态栏与多选项卡uCoolBar组件除了ToolBar组件,Delphi还提供了CoolBar组件,可以用来设置工具栏。CoolBar组件位于组件板的Win32选项卡上。和ToolBar组件不同,CoolBar组件是一个容器型组件。相关属性EdgeBorders属性:该属性设置工具栏的边界,有四个属性值;Bands属性:该属性设置工具栏中的TcoolBand对象,可增加和删除TcoolBand对象Vertical属性:该属性用来设置工具栏
16、上水平显示(true)还是垂直显示(false)Break属性:该属性用来设置工具栏上的TcoolBand对象的位置第11章工具状态栏与多选项卡u设计过程设计过程往窗体中添加一个CoolBar组件工具栏上添加快捷按钮TCoolBand(不是快捷按钮组件)。单击TCoolBand对象的Control属性右侧的下拉按钮,可从中选择一个组件。设置工具栏上按钮的属性。为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码第11章工具状态栏与多选项卡u控件栏组件控件栏与CoolBar一样,是一个容器型控件,可以管理多个控件,允许用户在运行时拖动并重新布置工具栏。同时,控件栏组件的使用更加简单
17、,只需将其他控件放置到其中即可,就象面板一样。使用控件栏时,通常先将控件放到工具栏或其他容器型组件中,而不直接放到控件栏中。控件栏组件位于组件板的Addiitional选项卡上第11章工具状态栏与多选项卡u工具栏的显示与隐藏工具栏的显示与隐藏有时,会要求隐藏某些工具栏以提供较多的空间,有时,会要求隐藏某些工具栏以提供较多的空间,可以通过设置可以通过设置toolbar组件的组件的visible属性来实现。属性来实现。u 工具栏按钮的灰显工具栏按钮的灰显设置工具栏按钮的设置工具栏按钮的enable属性来实现。属性来实现。第11章工具状态栏与多选项卡11.2 状态栏状态栏u在应用程序的窗口底部,经常
18、会有状态栏。u状态栏通常用于显示当前的状态及一些提示信息。u状态栏(StatusBar)组件位于组件板的Win32选项卡上,它比较类似于面板组件。第11章工具状态栏与多选项卡u状态栏的基本属性状态栏的基本属性panels属性:该属性设置状态栏上的面板Simplepanels属性:该属性为true时,状态栏为单面板,状态栏将只有一个显示区域,显示在SimpleText中设定的文本。Simpletext属性:该属性用来设置状态栏上显示概述性的字符串(true)Alignment属性:设对齐置文字的方式 属性设为alBottom,使它靠窗体的底部对齐。Bevel属性:该属性设置状态栏上的面板显示风格
19、、Style属性:该属性设置面板中显示文字还是图形Text属性:该属性用来设置面板中显示的文字Width属性:设置面板的宽度第11章工具状态栏与多选项卡u显示状态及提示信息显示状态及提示信息在许多Windows应用程序中,用户也许会发现状态栏实际上可以看成由多个子面板组成。它们将状态栏分成几部分,而每一个子面板都有自己的显示区域。第11章工具状态栏与多选项卡设计状态栏如下操作。窗体中添加状态栏组件(假定为StatusBar1)将状态栏的SimplePanel属性设为False。双击状态栏的Panels属性,打开Editing StatusBar1.Panels窗口。单击窗口中的Add New按
20、钮,就会增加一个子面板。在对象查找器中设置子面板的属性。连续单击Add New按钮,可添加多个子面板。关闭Editing StatusBar1.Panels窗口。第11章工具状态栏与多选项卡状态栏子面板中添加显示内容。直接将要显示内容文本赋值给StatusBar1.Panels0.Text直接在状态栏的子面板中显示所需内容。 例如:在第一个子面板中显示时钟: 先在窗口中加入Timer组件Timer1, 将其Interval属性改为500,并加入事件Timer1Timer。 procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBa
21、r1.Panels0.Text:= TimeToStr(Time); end;【例【例11-2】用状态栏程序简单应用,】用状态栏程序简单应用,如程序所示如程序所示第11章工具状态栏与多选项卡11.3 PageControl控件控件 在使用多个窗体的情况下,可以使用菜单或按钮等完成多个窗体之间的切换,其实这种情况可以使用多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。 该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。 第11章工具状态栏与多选项卡11.3 PageControl控件控件u多选项卡
22、控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。u该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。u在新的工程的窗体中添加一个PageControl控件,选择该控件,单击鼠标右键,在弹出的快捷菜单中选择“New Page”选项,就可以在控件中添加选项卡,多次使用“New Page”命令可以添加多个选项卡。u用户可以分别在每一选项卡中进行设计,各个选项卡之间互不干涉,每个选项卡可以根据用户的需要来设计。第11章工具状态栏与多选项卡uTPageControl组件的常用属性组件的常用属性Pages属性:该属
23、性是一个数组属性,它的每一个属性:该属性是一个数组属性,它的每一个元素代表元素代表TPageControl组件中的一个页面,是组件中的一个页面,是TTabSheet类型的。类型的。PageCount属性:该属性用来返回属性:该属性用来返回TPageControl组组件中页面的数量。件中页面的数量。ActivePage属性:该属性用来为属性:该属性用来为TPageControl组件组件设置当前页或返回设置当前页或返回TPageControl组件的当前页,组件的当前页,其类型是其类型是TTabSheet。ActivePage属性:该属性用来为属性:该属性用来为TPageControl组件组件设置当
24、前页或返回设置当前页或返回TPageControl组件的当前页,组件的当前页,其类型是其类型是TTabSheet。 ActivePageIndex属性:该属性用来返回属性:该属性用来返回TPageControl组件的当前页的索引号,或通过该组件的当前页的索引号,或通过该属性把某索引号的页设为当前页。属性把某索引号的页设为当前页。 MultiLine属性:该属性用来决定页标签是否允许属性:该属性用来决定页标签是否允许多行显示多行显示 。第11章工具状态栏与多选项卡 【例【例11-3】 编写一个显示文本文件和图片文件的编写一个显示文本文件和图片文件的应用程序,要求使用应用程序,要求使用TPageC
25、ontrol组件,在组件,在TPageControl组件的两页中分别显示文本文件和图片组件的两页中分别显示文本文件和图片文件的内容。程序的设计界面如图文件的内容。程序的设计界面如图7-26和图和图7-27所示。所示。程序的运行时,单击程序的运行时,单击“文本文件文本文件”页标签,然后单击页标签,然后单击【打开】按钮将弹出【打开】对话框供用户选择一个【打开】按钮将弹出【打开】对话框供用户选择一个文本文件,选中的文本文件将显示在文本文件,选中的文本文件将显示在TMemo组件中,组件中,如图所示。单击如图所示。单击“图片文件图片文件”页标签,然后单击【打页标签,然后单击【打开】按钮将弹出【打开图片】
26、对话框供用户选择一个开】按钮将弹出【打开图片】对话框供用户选择一个图片文件,选中的图片文件将显示在图片文件,选中的图片文件将显示在TImage组件中,组件中,如图所示。如图所示。 第11章工具状态栏与多选项卡10.4 多窗体程序的设计u为应用程序添加和删除窗体为应用程序添加和删除窗体u窗体间切换窗体间切换新建一个新建一个Delphi项目时,项目中只有一个名为项目时,项目中只有一个名为Form1的窗体,如果要为当前应用程序添加窗体,的窗体,如果要为当前应用程序添加窗体,可通过单击工具栏上的新建窗体可通过单击工具栏上的新建窗体“ ”按钮来实按钮来实现。如果想把当前项目中的某窗体去除,可通过现。如果
27、想把当前项目中的某窗体去除,可通过单击工具栏上的移去文件单击工具栏上的移去文件“ ”按钮来实现。按钮来实现。切换方法是单击工具栏上的查看窗体切换方法是单击工具栏上的查看窗体“ ”按钮。按钮。第11章工具状态栏与多选项卡u设置主窗体和自动创建窗体设置主窗体和自动创建窗体 所谓主窗体是指程序开始运行时出现的窗体,新建一个Delphi项目时,第一个窗体默认为主窗体,但主窗体可以重新设定。设定方法是执行【Project】【Options】命令 。【例10-4】 编写一个调查用户购买商品的应用程序。程序运行时将出现一个调查窗体供用户输入信息,如图9-5所示。用户输入信息后按【提交】按钮将出现确认窗体,显
28、示用户输入的信息,如图9-6所示。在该窗体上,用户按【确认】按钮将退出应用程序,如果用户按【重填】按钮将又回到图9-5所示的调查窗体等待用户输入信息。 第11章工具状态栏与多选项卡程序运行界面(一) 程序运行界面(二) 第11章工具状态栏与多选项卡u单文档(SDI)应用程序设计技术 【例【例10-510-5】利用】利用DelphiDelphi提供的模板创建一个标准的提供的模板创建一个标准的SDISDI应用程序。应用程序。 创建步骤如下:创建步骤如下: (1 1)执行【)执行【FileFile】【NewNew】【OtherOther】命令,将】命令,将会出现会出现 【New ItemNew Item】对话框,在该对话框中选中选】对话框,在该对话框中选中选项卡【项卡【ProjectsProjects】,再选中图标【】,再选中图标【SDI SDI ApplicationApplication】,然后按【】,然后按【OKOK】按钮。将会出现】按钮。将会出现 【选择目录】对话框。【选择目录】对话框。 (2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023净身出户离婚协议书
- 偿还借款协议书范本
- 额部肿块病因介绍
- 公司转让个人股份协议
- 中考政治第一部分知识闯关能力提升第二课时调节情绪学习压力明辨是非复习课获
- 2015中国在线音乐行业研究报告
- (2024)赤泥综合利用生产建设项目可行性研究报告(一)
- 2023年办公照明项目筹资方案
- 【电信终端产业协会】2024年终端智能化分级研究报告
- 国际物流题库(含参考答案)
- 临时用电配电箱日常检查表
- 录井技术服务方案与技术措施
- 2022年二年级上册语文复习计划
- 小学语文人教课标版(部编)三年级下册习作:我的植物朋友 1
- 西师大版六年级数学上册《比和按比例分配的整理与复习》课件
- 房屋租赁合同终止协议书格式(3篇)
- PPT成功的秘诀——勤奋
- 建设工程监理概论(PPT)
- 土地整治业务培训
- 澳大利亚教育质量保障框架ppt课件
- 热力学第四章热力学第二定律(me)(1)
评论
0/150
提交评论