工具状态栏和多选项卡_第1页
工具状态栏和多选项卡_第2页
工具状态栏和多选项卡_第3页
工具状态栏和多选项卡_第4页
工具状态栏和多选项卡_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

5、;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.saveto);end;procedure TForm1.cutClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.C

6、utToClipboard;end;procedure TForm1.quitClick(Sender: TObject);beginclose;end;procedure TForm1.copyClick(Sender: TObject);beginif memo1.SelLength0thenmemo1.copyToClipboard;end; procedure TForm1.pastClick(Sender: TObject);beginmemo1.PasteFromClipboard;end;procedure TForm1.fontClick(Sender: TObject);be

7、ginif fontdialog1.execute thenmemo1.Font:=fontdialog1.Font;end;procedure TForm1.colorClick(Sender: TObject);begin if colordialog1.execute thenmemo1.color:=colordialog1.color;end;procedure TForm1.N16Click(Sender: TObject);beginmessagedlg(欢迎使用本软件,mtinformation,mbok,0) ;end;procedure TForm1.ComboBox1Ch

8、ange(Sender: TObject);beginmemo1.Font.Name:=combobox1.Text;end;procedure TForm1.ComboBox2Change(Sender: TObject);beginmemo1.Font.Size:=strtoint(combobox2.Text);end;用工具栏组件构成工具栏 Delphi提供了新的工具栏(ToolBar)组件,位于组件板的Win32选项卡上,可用来直接创建工具栏。主要属性有:EdgeBorders属性:该属性设置工具栏的边界,有四个属性值; ebLeft(左边界)、ebTop(上边界)、 ebRight

9、(右边界)、ebBottom(底边界)Flat属性:该属性用来设置工具栏上的按钮的显示效果Grouped属性:该属性用来设置工具栏上的相邻按钮为一组,同组中的按钮为单选Menuitemt属性:该属性用来设置工具栏上的按钮同菜单命令连接起来Style属性:该属性用来设置工具栏上的按钮的类型工具栏上添加的按钮属于TToolButton类型,每个按钮都可用对象查看器设置属性。Style属性 该属性提供了以下属性值。tbsButton:表示标准按钮(缺省)。tbsCheck:表示具有复选功能或单选功能的按钮。如果按钮不与其他按钮编组,则具有复选功能。如果与其他按钮一起编组,则具有单选功能。tbsDev

10、ider:表示一条竖线型分隔条。tbsDropDown:表示凹陷式按钮,但需要使用其他组件进行支持。tbsSeparator:表示空格型分隔条。Grouped属性要使一组按钮具有单选功能,通常要给工具栏上相邻按钮分组。 将组中每个TToolButton按钮的Grouped属性设置为True,这些按钮必须是相邻的。按钮分组时,如果遇到一个按钮的Grouped属性不是True,或其Style属性不是tbsCheck,或添加了一个分隔条,则分组自动结束。MenuItem属性要使工具栏上按钮与相应的菜单命令对应,请在MenuItem属性中选择相应的菜单命令名称(Name属性)。但是设置MenuItem

11、属性后,按钮将不再保留位图或需要重新设置位图。Hint属性各工具栏上按钮的功能提示。要在程序运行时能显示按钮的功能提示,还得将窗体Form1的ShowHint属性和工具栏ToolBar1的ShowHint属性设置为True。ImageIndex为按钮提供位图。右击窗体中的ImageList1组件,将打开一个快捷菜单,从中选择ImageList Editor命令,打开图像列表编辑器窗口。单击Add按钮,可增加一幅位图。将工具栏上按钮用到的位图按顺序加载到Images列表中,然后单击OK按钮返回。再将ToolBar组件的Images属性设置为ImageList组件的Name属性。提示:如果Imag

12、eList加载位图的顺序与工具栏上的按钮顺序不一致,请将每一个TToolButton对象的ImageIndex属性设置位图加载的序号。设计过程往窗体中添加一个ToolBar组件工具栏上添加快捷按钮(不是快捷按钮组件)。右击工具栏组件,打开一快捷菜单。如果要添加按钮,选择New Button命令;如果要添加分隔条,选择New Separator命令。设置工具栏上按钮的属性。为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码【例11-2】用工具栏按钮建立工具栏,CoolBar组件除了ToolBar组件,Delphi还提供了CoolBar组件,可以用来设置工具栏。CoolBar组件位

13、于组件板的Win32选项卡上。和ToolBar组件不同,CoolBar组件是一个容器型组件。相关属性EdgeBorders属性:该属性设置工具栏的边界,有四个属性值;Bands属性:该属性设置工具栏中的TcoolBand对象,可增加和删除TcoolBand对象Vertical属性:该属性用来设置工具栏上水平显示(true)还是垂直显示(false)Break属性:该属性用来设置工具栏上的TcoolBand对象的位置设计过程往窗体中添加一个CoolBar组件工具栏上添加快捷按钮TCoolBand(不是快捷按钮组件)。单击TCoolBand对象的Control属性右侧的下拉按钮,可从中选择一个组件

14、。设置工具栏上按钮的属性。为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码控件栏组件控件栏与CoolBar一样,是一个容器型控件,可以管理多个控件,允许用户在运行时拖动并重新布置工具栏。同时,控件栏组件的使用更加简单,只需将其他控件放置到其中即可,就象面板一样。使用控件栏时,通常先将控件放到工具栏或其他容器型组件中,而不直接放到控件栏中。控件栏组件位于组件板的Addiitional选项卡上工具栏的显示与隐藏有时,会要求隐藏某些工具栏以提供较多的空间,可以通过设置toolbar组件的visible属性来实现。 工具栏按钮的灰显设置工具栏按钮的enable属性来实现。11.2 状

15、态栏在应用程序的窗口底部,经常会有状态栏。状态栏通常用于显示当前的状态及一些提示信息。状态栏(StatusBar)组件位于组件板的Win32选项卡上,它比较类似于面板组件。状态栏的基本属性panels属性:该属性设置状态栏上的面板Simplepanels属性:该属性为true时,状态栏为单面板,状态栏将只有一个显示区域,显示在SimpleText中设定的文本。Simpletext属性:该属性用来设置状态栏上显示概述性的字符串(true)Alignment属性:设对齐置文字的方式 属性设为alBottom,使它靠窗体的底部对齐。Bevel属性:该属性设置状态栏上的面板显示风格、Style属性:该

16、属性设置面板中显示文字还是图形Text属性:该属性用来设置面板中显示的文字Width属性:设置面板的宽度显示状态及提示信息在许多Windows应用程序中,用户也许会发现状态栏实际上可以看成由多个子面板组成。它们将状态栏分成几部分,而每一个子面板都有自己的显示区域。设计状态栏如下操作。窗体中添加状态栏组件(假定为StatusBar1)将状态栏的SimplePanel属性设为False。双击状态栏的Panels属性,打开Editing StatusBar1.Panels窗口。单击窗口中的Add New按钮,就会增加一个子面板。在对象查找器中设置子面板的属性。连续单击Add New按钮,可添加多个子

17、面板。关闭Editing StatusBar1.Panels窗口。状态栏子面板中添加显示内容。直接将要显示内容文本赋值给StatusBar1.Panels0.Text直接在状态栏的子面板中显示所需内容。 例如:在第一个子面板中显示时钟: 先在窗口中加入Timer组件Timer1, 将其Interval属性改为500,并加入事件Timer1Timer。 procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBar1.Panels0.Text:= TimeToStr(Time); end;【例11-2】用状态栏程序简单应用,如程序所示

18、11.3 PageControl控件 在使用多个窗体的情况下,可以使用菜单或按钮等完成多个窗体之间的切换,其实这种情况可以使用多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。 该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。 11.3 PageControl控件多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况。该组件位于WIN32组件板上,适用于每一个选项卡显示一个独立的信息,该控件的每一个选项卡都是一个TTabSheet控件。在新的工程的窗体中添加一个PageCo

19、ntrol控件,选择该控件,单击鼠标右键,在弹出的快捷菜单中选择“New Page”选项,就可以在控件中添加选项卡,多次使用“New Page”命令可以添加多个选项卡。用户可以分别在每一选项卡中进行设计,各个选项卡之间互不干涉,每个选项卡可以根据用户的需要来设计。TPageControl组件的常用属性Pages属性:该属性是一个数组属性,它的每一个元素代表TPageControl组件中的一个页面,是TTabSheet类型的。PageCount属性:该属性用来返回TPageControl组件中页面的数量。ActivePage属性:该属性用来为TPageControl组件设置当前页或返回TPage

20、Control组件的当前页,其类型是TTabSheet。ActivePage属性:该属性用来为TPageControl组件设置当前页或返回TPageControl组件的当前页,其类型是TTabSheet。 ActivePageIndex属性:该属性用来返回TPageControl组件的当前页的索引号,或通过该属性把某索引号的页设为当前页。 MultiLine属性:该属性用来决定页标签是否允许多行显示 。 【例11-3】 编写一个显示文本文件和图片文件的应用程序,要求使用TPageControl组件,在TPageControl组件的两页中分别显示文本文件和图片文件的内容。程序的设计界面如图7-2

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

温馨提示

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

评论

0/150

提交评论