工具状态栏与多选项卡.ppt

上传人:本田雅阁 文档编号:2454530 上传时间:2019-03-30 格式:PPT 页数:41 大小:490.51KB
返回 下载 相关 举报
工具状态栏与多选项卡.ppt_第1页
第1页 / 共41页
工具状态栏与多选项卡.ppt_第2页
第2页 / 共41页
工具状态栏与多选项卡.ppt_第3页
第3页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《工具状态栏与多选项卡.ppt》由会员分享,可在线阅读,更多相关《工具状态栏与多选项卡.ppt(41页珍藏版)》请在三一文库上搜索。

1、上章回顾: 菜单 主菜单 快捷菜单,第11章 工具状态栏与多选项卡,本章要点: 工具栏 状态栏 PageControl,11.1 循序渐进学理论,随着Windows操作系统风行世界,各种基于Windows的应用程序及各类娱乐软件也日益为人们所熟悉。这些软件的共同特点之一就是都包含了工具栏和状态栏及其多项选项卡。,目前大部分Windows应用程序中,含有工具栏和状态栏己形成了一种常规。 工具栏一般位于窗口的项部,状态栏一般位于窗口的底部,用于显示当前的状态及一些提示信息,11.1 工具栏,用面板构成工具栏 使用工具栏组件设计工具栏 使用CoolBar组件设计工具栏 使用控件栏组件设计工具栏 状态

2、栏设计,1 、工具栏的设计方法,用面板构成工具栏 工具栏用于实现具体的功能实现,一般是通过面板组件和快捷按钮组件进行设计。 快捷按钮 快捷按钮(SpeedButton)在组件板的Additional选项卡上,默认形状为正方形,当然也可以改变它的形状和大小。 快捷按钮的常用属性: Caption属性:用于设置快捷按钮表面所显示的文本。 Glyph属性:用于设置快捷按钮表面的位图。,GroupIndex属性:通过设置GroupIndex属性,可以像使用复选框或单选按钮那样来使用快捷按钮。 按下某个按钮时,只有被选择的按钮处于按下状态。 而其他的快捷按钮均处于弹起状态,就应将这一组快捷按钮的Grou

3、pIndex属性赋予相同的值。 该值不能和其他组的GroupIndex值相冲突。 要使某按钮被选中时保持按下状态应给该按钮的GroupIndex属性赋予一个大于0的整数值。否则在松开按钮后,它也会自动弹起。,Hint属性:用于设置快捷按钮的提示功能及在状态栏所显示的文本。 Layout属性:用于设置快捷按钮表面的文本和位图的显示风格。 Down属性:用于判断快捷按钮是否处于被按下状态。 AllowAllUp属性:将快捷按钮的AllowAllUp属性设为True时,当单击处于按下状态的该快捷按钮时,它可恢复弹起状态。 当在设置某个快捷按钮的AllowAllup属性时,其他与该按钮的GroupIn

4、dex属性值相同的快捷按钮的AllowAllUp属性也会发生相同的变化。,面板 面板是一个容器型的组件,在面板上可以放置其他组件(包括面板组件)。 所有放置在面板上的组件都以面板为父组件。 在工具栏设计中一般将面板的Align属性设为alTop,使面板与窗体的顶部对齐。,用面板构成工具栏 在面板上放置一些快捷按钮可构成工具栏 设计过程 为窗体添加一个面板组件 在面板中放置三个小面板,用以对快捷按钮按菜单划分。 在小面板上放置快捷按钮等组件。 链接工具栏与菜单的OnClick事件 编写事件响应代码 【例11-1】用面板和快捷按钮建立工具栏,设计界面,procedure TForm1.newCli

5、ck(Sender: TObject); begin memo1.Clear; end; procedure TForm1.openClick(Sender: TObject); begin with opendialog1 do if execute then memo1.Lines.LoadFromFile(filename); end; procedure TForm1.saveClick(Sender: TObject); begin with savedialog1 do if execute then memo1.Lines.savetoFile(filename); end; p

6、rocedure TForm1.cutClick(Sender: TObject); begin if memo1.SelLength0then memo1.CutToClipboard; end;,procedure TForm1.quitClick(Sender: TObject); begin close; end; procedure TForm1.copyClick(Sender: TObject); begin if memo1.SelLength0then memo1.copyToClipboard; end; procedure TForm1.pastClick(Sender:

7、 TObject); begin memo1.PasteFromClipboard; end; procedure TForm1.fontClick(Sender: TObject); begin if fontdialog1.execute then memo1.Font:=fontdialog1.Font; end;,procedure TForm1.colorClick(Sender: TObject); begin if colordialog1.execute then memo1.color:=colordialog1.color; end; procedure TForm1.N1

8、6Click(Sender: TObject); begin messagedlg(欢迎使用本软件,mtinformation,mbok,0) ; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin memo1.Font.Name:=combobox1.Text; end; procedure TForm1.ComboBox2Change(Sender: TObject); begin memo1.Font.Size:=strtoint(combobox2.Text); end;,用工具栏组件构成工具栏 Delphi提供了

9、新的工具栏(ToolBar)组件,位于组件板的Win32选项卡上,可用来直接创建工具栏。 主要属性有: EdgeBorders属性:该属性设置工具栏的边界,有四个属性值; ebLeft(左边界)、ebTop(上边界)、 ebRight(右边界)、ebBottom(底边界) Flat属性:该属性用来设置工具栏上的按钮的显示效果 Grouped属性:该属性用来设置工具栏上的相邻按钮为一组,同组中的按钮为单选,Menuitemt属性:该属性用来设置工具栏上的按钮同菜单命令连接起来 Style属性:该属性用来设置工具栏上的按钮的类型 工具栏上添加的按钮属于TToolButton类型,每个按钮都可用对象

10、查看器设置属性。 Style属性 该属性提供了以下属性值。 tbsButton:表示标准按钮(缺省)。 tbsCheck:表示具有复选功能或单选功能的按钮。 如果按钮不与其他按钮编组,则具有复选功能。 如果与其他按钮一起编组,则具有单选功能。,tbsDevider:表示一条竖线型分隔条。 tbsDropDown:表示凹陷式按钮,但需要使用其他组件进行支持。 tbsSeparator:表示空格型分隔条。 Grouped属性 要使一组按钮具有单选功能,通常要给工具栏上相邻按钮分组。 将组中每个TToolButton按钮的Grouped属性设置为True,这些按钮必须是相邻的。 按钮分组时,如果遇到

11、一个按钮的Grouped属性不是True,或其Style属性不是tbsCheck,或添加了一个分隔条,则分组自动结束。,MenuItem属性 要使工具栏上按钮与相应的菜单命令对应,请在MenuItem属性中选择相应的菜单命令名称(Name属性)。 但是设置MenuItem属性后,按钮将不再保留位图或需要重新设置位图。 Hint属性 各工具栏上按钮的功能提示。 要在程序运行时能显示按钮的功能提示,还得将窗体Form1的ShowHint属性和工具栏ToolBar1的ShowHint属性设置为True。,ImageIndex为按钮提供位图。 右击窗体中的ImageList1组件,将打开一个快捷菜单,

12、从中选择ImageList Editor命令,打开图像列表编辑器窗口。 单击Add按钮,可增加一幅位图。 将工具栏上按钮用到的位图按顺序加载到Images列表中,然后单击OK按钮返回。 再将ToolBar组件的Images属性设置为ImageList组件的Name属性。 提示:如果ImageList加载位图的顺序与工具栏上的按钮顺序不一致,请将每一个TToolButton对象的ImageIndex属性设置位图加载的序号。,设计过程 往窗体中添加一个ToolBar组件 工具栏上添加快捷按钮(不是快捷按钮组件)。 右击工具栏组件,打开一快捷菜单。如果要添加按钮,选择New Button命令;如果要

13、添加分隔条,选择New Separator命令。 设置工具栏上按钮的属性。 为按钮提供位图 链接工具栏与菜单的OnClick事件 编写事件响应代码 【例11-2】用工具栏按钮建立工具栏,,CoolBar组件 除了ToolBar组件,Delphi还提供了CoolBar组件,可以用来设置工具栏。 CoolBar组件位于组件板的Win32选项卡上。 和ToolBar组件不同,CoolBar组件是一个容器型组件。 相关属性 EdgeBorders属性:该属性设置工具栏的边界,有四个属性值; Bands属性:该属性设置工具栏中的TcoolBand对象,可增加和删除TcoolBand对象 Vertical

14、属性:该属性用来设置工具栏上水平显示(true)还是垂直显示(false) Break属性:该属性用来设置工具栏上的TcoolBand对象的位置,设计过程 往窗体中添加一个CoolBar组件 工具栏上添加快捷按钮TCoolBand(不是快捷按钮组件)。 单击TCoolBand对象的Control属性右侧的下拉按钮,可从中选择一个组件。 设置工具栏上按钮的属性。 为按钮提供位图 链接工具栏与菜单的OnClick事件 编写事件响应代码,控件栏组件 控件栏与CoolBar一样,是一个容器型控件,可以管理多个控件,允许用户在运行时拖动并重新布置工具栏。 同时,控件栏组件的使用更加简单,只需将其他控件放

15、置到其中即可,就象面板一样。 使用控件栏时,通常先将控件放到工具栏或其他容器型组件中,而不直接放到控件栏中。 控件栏组件位于组件板的Addiitional选项卡上,工具栏的显示与隐藏 有时,会要求隐藏某些工具栏以提供较多的空间,可以通过设置toolbar组件的visible属性来实现。 工具栏按钮的灰显 设置工具栏按钮的enable属性来实现。,11.2 状态栏,在应用程序的窗口底部,经常会有状态栏。 状态栏通常用于显示当前的状态及一些提示信息。 状态栏(StatusBar)组件位于组件板的Win32选项卡上,它比较类似于面板组件。,状态栏的基本属性 panels属性:该属性设置状态栏上的面板

16、 Simplepanels属性:该属性为true时,状态栏为单面板,状态栏将只有一个显示区域,显示在SimpleText中设定的文本。 Simpletext属性:该属性用来设置状态栏上显示概述性的字符串(true) Alignment属性:设对齐置文字的方式 属性设为alBottom,使它靠窗体的底部对齐。 Bevel属性:该属性设置状态栏上的面板显示风格、 Style属性:该属性设置面板中显示文字还是图形 Text属性:该属性用来设置面板中显示的文字 Width属性:设置面板的宽度,显示状态及提示信息 在许多Windows应用程序中,用户也许会发现状态栏实际上可以看成由多个子面板组成。 它们

17、将状态栏分成几部分,而每一个子面板都有自己的显示区域。,设计状态栏如下操作。 窗体中添加状态栏组件(假定为StatusBar1) 将状态栏的SimplePanel属性设为False。 双击状态栏的Panels属性,打开Editing StatusBar1.Panels窗口。 单击窗口中的Add New按钮,就会增加一个子面板。 在对象查找器中设置子面板的属性。 连续单击Add New按钮,可添加多个子面板。 关闭Editing StatusBar1.Panels窗口。,状态栏子面板中添加显示内容。 直接将要显示内容文本赋值给StatusBar1.Panels0.Text 直接在状态栏的子面板中

18、显示所需内容。 例如:在第一个子面板中显示时钟: 先在窗口中加入Timer组件Timer1, 将其Interval属性改为500,并加入事件Timer1Timer。 procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBar1.Panels0.Text:= TimeToStr(Time); end; 【例11-2】用状态栏程序简单应用,如程序所示,11.3 PageControl控件,在使用多个窗体的情况下,可以使用菜单或按钮等完成多个窗体之间的切换,其实这种情况可以使用多选项卡控件PageControl实现在一个窗体上进行浏览

19、多个事件的处理情况。 该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。,11.3 PageControl控件,多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。 该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。 在新的工程的窗体中添加一个PageControl控件,选择该控件,单击鼠标右键,在弹出的快捷菜单中选择“New Page”选项,就可以在控件中添加选项卡,多次使用“New Page”命令可以添加多个选项卡。 用户可以

20、分别在每一选项卡中进行设计,各个选项卡之间互不干涉,每个选项卡可以根据用户的需要来设计。,TPageControl组件的常用属性 Pages属性:该属性是一个数组属性,它的每一个元素代表TPageControl组件中的一个页面,是TTabSheet类型的。 PageCount属性:该属性用来返回TPageControl组件中页面的数量。 ActivePage属性:该属性用来为TPageControl组件设置当前页或返回TPageControl组件的当前页,其类型是TTabSheet。 ActivePage属性:该属性用来为TPageControl组件设置当前页或返回TPageControl组件

21、的当前页,其类型是TTabSheet。 ActivePageIndex属性:该属性用来返回TPageControl组件的当前页的索引号,或通过该属性把某索引号的页设为当前页。 MultiLine属性:该属性用来决定页标签是否允许多行显示 。,【例11-3】 编写一个显示文本文件和图片文件的应用程序,要求使用TPageControl组件,在TPageControl组件的两页中分别显示文本文件和图片文件的内容。程序的设计界面如图7-26和图7-27所示。程序的运行时,单击“文本文件”页标签,然后单击【打开】按钮将弹出【打开】对话框供用户选择一个文本文件,选中的文本文件将显示在TMemo组件中,如图

22、所示。单击“图片文件”页标签,然后单击【打开】按钮将弹出【打开图片】对话框供用户选择一个图片文件,选中的图片文件将显示在TImage组件中,如图所示。,10.4 多窗体程序的设计,为应用程序添加和删除窗体 窗体间切换,新建一个Delphi项目时,项目中只有一个名为Form1的窗体,如果要为当前应用程序添加窗体,可通过单击工具栏上的新建窗体“ ”按钮来实现。如果想把当前项目中的某窗体去除,可通过单击工具栏上的移去文件“ ”按钮来实现。,切换方法是单击工具栏上的查看窗体“ ”按钮。,设置主窗体和自动创建窗体 所谓主窗体是指程序开始运行时出现的窗体,新建一个Delphi项目时,第一个窗体默认为主窗体

23、,但主窗体可以重新设定。设定方法是执行【Project】【Options】命令 。 【例10-4】 编写一个调查用户购买商品的应用程序。程序运行时将出现一个调查窗体供用户输入信息,如图9-5所示。用户输入信息后按【提交】按钮将出现确认窗体,显示用户输入的信息,如图9-6所示。在该窗体上,用户按【确认】按钮将退出应用程序,如果用户按【重填】按钮将又回到图9-5所示的调查窗体等待用户输入信息。,程序运行界面(一),程序运行界面(二),单文档(SDI)应用程序设计技术 【例10-5】利用Delphi提供的模板创建一个标准的SDI应用程序。 创建步骤如下: (1)执行【File】【New】【Other

24、】命令,将会出现 【New Item】对话框,在该对话框中选中选项卡【Projects】,再选中图标【SDI Application】,然后按【OK】按钮。将会出现 【选择目录】对话框。 (2)在【选择目录】对话框中选择SDI应用程序需保存的路径,然后按【OK】按钮,系统将自动创建一个标准的单文档应用程序 。,多文档(MDI)应用程序设计技术 与单文档应用程序相对应,多文档应用程序是允许在一个主窗体中创建多个子窗口的应用程序。 MDI应用程序允许用户同时显示多个文档,每个文档显示在它自己的窗口中。文档或子窗口被包含在父窗口中,父窗口为应用程序中所有子窗口提供工作空间。子窗体就是普通窗体。一个应

25、用程序可以包含许多相似或者不同样式的子窗体。在运行时,子窗体显示在父窗体工作空间之内,且不能移出父窗体。当子窗体最小化时,它的图标显示在父窗体的工作空间之内,而不是在任务栏中。,通过模板创建MDI应用程序 【例10-6】 利用Delphi提供的模板创建一个标准的MDI应用程序。 应用模板创建MDI应用程序的步骤如下。 (1)执行【File】【New】【Other】命令,将会出现 【New Item】对话框,在该对话框中选中选项卡【Projects】,再选中图标【MDI Application】,然后按【OK】按钮。将会出现 【选择目录】对话框。 (2)在【选择目录】对话框中选择MDI应用程序需保存的路径,然后按【OK】按钮,系统将自动创建一个标准的多文档应用程序 。,10.2 上机练习重应用,结合前面所学内容 设计一文本编辑器,实现office中word的部分功能。,程序运行界面,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1