




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上章回顾 菜单 主菜单 快捷菜单 第10章工具状态栏与多选项卡 本章要点 工具栏 状态栏 PageControl 10 1循序渐进学理论 随着Windows操作系统风行世界 各种基于Windows的应用程序及各类娱乐软件也日益为人们所熟悉 这些软件的共同特点之一就是都包含了工具栏和状态栏及其多项选项卡 目前大部分Windows应用程序中 含有工具栏和状态栏己形成了一种常规 工具栏一般位于窗口的项部 状态栏一般位于窗口的底部 用于显示当前的状态及一些提示信息 10 1工具栏 用面板构成工具栏使用工具栏组件设计工具栏使用CoolBar组件设计工具栏使用控件栏组件设计工具栏状态栏设计 1 工具栏的设计方法 用面板构成工具栏工具栏用于实现具体的功能实现 一般是通过面板组件和快捷按钮组件进行设计 快捷按钮快捷按钮 SpeedButton 在组件板的 Additional 选项卡上 默认形状为正方形 当然也可以改变它的形状和大小 快捷按钮的常用属性 Caption属性 用于设置快捷按钮表面所显示的文本 Glyph属性 用于设置快捷按钮表面的位图 GroupIndex属性 通过设置GroupIndex属性 可以像使用复选框或单选按钮那样来使用快捷按钮 按下某个按钮时 只有被选择的按钮处于按下状态 而其他的快捷按钮均处于弹起状态 就应将这一组快捷按钮的GroupIndex属性赋予相同的值 该值不能和其他组的GroupIndex值相冲突 要使某按钮被选中时保持按下状态应给该按钮的GroupIndex属性赋予一个大于0的整数值 否则在松开按钮后 它也会自动弹起 Hint属性 用于设置快捷按钮的提示功能及在状态栏所显示的文本 Layout属性 用于设置快捷按钮表面的文本和位图的显示风格 Down属性 用于判断快捷按钮是否处于被按下状态 AllowAllUp属性 将快捷按钮的AllowAllUp属性设为True时 当单击处于按下状态的该快捷按钮时 它可恢复弹起状态 当在设置某个快捷按钮的AllowAllup属性时 其他与该按钮的GroupIndex属性值相同的快捷按钮的AllowAllUp属性也会发生相同的变化 面板面板是一个容器型的组件 在面板上可以放置其他组件 包括面板组件 所有放置在面板上的组件都以面板为父组件 在工具栏设计中一般将面板的Align属性设为alTop 使面板与窗体的顶部对齐 用面板构成工具栏在面板上放置一些快捷按钮可构成工具栏设计过程为窗体添加一个面板组件在面板中放置三个小面板 用以对快捷按钮按菜单划分 在小面板上放置快捷按钮等组件 链接工具栏与菜单的OnClick事件编写事件响应代码 例10 1 用面板和快捷按钮建立工具栏 如程序所示 用工具栏组件构成工具栏Delphi提供了新的工具栏 ToolBar 组件 位于组件板的 Win32 选项卡上 可用来直接创建工具栏 主要属性有 EdgeBorders属性 该属性设置工具栏的边界 有四个属性值 ebLeft 左边界 ebTop 上边界 ebRight 右边界 ebBottom 底边界 Flat属性 该属性用来设置工具栏上的按钮的显示效果Grouped属性 该属性用来设置工具栏上的相邻按钮为一组 同组中的按钮为单选 Menuitemt属性 该属性用来设置工具栏上的按钮同菜单命令连接起来Style属性 该属性用来设置工具栏上的按钮的类型工具栏上添加的按钮属于TToolButton类型 每个按钮都可用对象查看器设置属性 Style属性该属性提供了以下属性值 tbsButton 表示标准按钮 缺省 tbsCheck 表示具有复选功能或单选功能的按钮 如果按钮不与其他按钮编组 则具有复选功能 如果与其他按钮一起编组 则具有单选功能 tbsDevider 表示一条竖线型分隔条 tbsDropDown 表示凹陷式按钮 但需要使用其他组件进行支持 tbsSeparator 表示空格型分隔条 Grouped属性要使一组按钮具有单选功能 通常要给工具栏上相邻按钮分组 将组中每个TToolButton按钮的Grouped属性设置为True 这些按钮必须是相邻的 按钮分组时 如果遇到一个按钮的Grouped属性不是True 或其Style属性不是tbsCheck 或添加了一个分隔条 则分组自动结束 MenuItem属性要使工具栏上按钮与相应的菜单命令对应 请在MenuItem属性中选择相应的菜单命令名称 Name属性 但是设置MenuItem属性后 按钮将不再保留位图或需要重新设置位图 Hint属性各工具栏上按钮的功能提示 要在程序运行时能显示按钮的功能提示 还得将窗体Form1的ShowHint属性和工具栏ToolBar1的ShowHint属性设置为True ImageIndex为按钮提供位图 右击窗体中的ImageList1组件 将打开一个快捷菜单 从中选择 ImageListEditor 命令 打开图像列表编辑器窗口 单击 Add 按钮 可增加一幅位图 将工具栏上按钮用到的位图按顺序加载到 Images 列表中 然后单击 OK 按钮返回 再将ToolBar组件的Images属性设置为ImageList组件的Name属性 提示 如果ImageList加载位图的顺序与工具栏上的按钮顺序不一致 请将每一个TToolButton对象的ImageIndex属性设置位图加载的序号 设计过程往窗体中添加一个ToolBar组件工具栏上添加快捷按钮 不是快捷按钮组件 右击工具栏组件 打开一快捷菜单 如果要添加按钮 选择 NewButton 命令 如果要添加分隔条 选择 NewSeparator 命令 设置工具栏上按钮的属性 为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码 例10 2 用工具栏按钮建立工具栏 如程序所示 CoolBar组件除了ToolBar组件 Delphi还提供了CoolBar组件 可以用来设置工具栏 CoolBar组件位于组件板的 Win32 选项卡上 和ToolBar组件不同 CoolBar组件是一个容器型组件 相关属性EdgeBorders属性 该属性设置工具栏的边界 有四个属性值 Bands属性 该属性设置工具栏中的TcoolBand对象 可增加和删除TcoolBand对象Vertical属性 该属性用来设置工具栏上水平显示 true 还是垂直显示 false Break属性 该属性用来设置工具栏上的TcoolBand对象的位置 设计过程往窗体中添加一个CoolBar组件工具栏上添加快捷按钮TCoolBand 不是快捷按钮组件 单击TCoolBand对象的Control属性右侧的下拉按钮 可从中选择一个组件 设置工具栏上按钮的属性 为按钮提供位图链接工具栏与菜单的OnClick事件编写事件响应代码 控件栏组件控件栏与CoolBar一样 是一个容器型控件 可以管理多个控件 允许用户在运行时拖动并重新布置工具栏 同时 控件栏组件的使用更加简单 只需将其他控件放置到其中即可 就象面板一样 使用控件栏时 通常先将控件放到工具栏或其他容器型组件中 而不直接放到控件栏中 控件栏组件位于组件板的 Addiitional 选项卡上 工具栏的显示与隐藏有时 会要求隐藏某些工具栏以提供较多的空间 可以通过设置toolbar组件的visible属性来实现 工具栏按钮的灰显设置工具栏按钮的enable属性来实现 10 2状态栏 在应用程序的窗口底部 经常会有状态栏 状态栏通常用于显示当前的状态及一些提示信息 状态栏 StatusBar 组件位于组件板的 Win32 选项卡上 它比较类似于面板组件 状态栏的基本属性panels属性 该属性设置状态栏上的面板Simplepanels属性 该属性为true时 状态栏为单面板 状态栏将只有一个显示区域 显示在SimpleText中设定的文本 Simpletext属性 该属性用来设置状态栏上显示概述性的字符串 true Alignment属性 设对齐置文字的方式属性设为alBottom 使它靠窗体的底部对齐 Bevel属性 该属性设置状态栏上的面板显示风格 Style属性 该属性设置面板中显示文字还是图形Text属性 该属性用来设置面板中显示的文字Width属性 设置面板的宽度 显示状态及提示信息在许多Windows应用程序中 用户也许会发现状态栏实际上可以看成由多个子面板组成 它们将状态栏分成几部分 而每一个子面板都有自己的显示区域 设计状态栏如下操作 窗体中添加状态栏组件 假定为StatusBar1 将状态栏的SimplePanel属性设为False 双击状态栏的Panels属性 打开 EditingStatusBar1 Panels 窗口 单击窗口中的 AddNew 按钮 就会增加一个子面板 在对象查找器中设置子面板的属性 连续单击 AddNew 按钮 可添加多个子面板 关闭 EditingStatusBar1 Panels 窗口 状态栏子面板中添加显示内容 直接将要显示内容文本赋值给StatusBar1 Panels 0 Text直接在状态栏的子面板中显示所需内容 例如 在第一个子面板中显示时钟 先在窗口中加入Timer组件 Timer1 将其Interval属性改为500 并加入事件Timer1Timer procedureTForm1 Timer1Timer Sender TObject beginStatusBar1 Panels 0 Text TimeToStr Time end 例10 2 用状态栏程序简单应用 如程序所示 10 3PageControl控件 在使用多个窗体的情况下 可以使用菜单或按钮等完成多个窗体之间的切换 其实这种情况可以使用多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况 该组件位于WIN32组件板上 适用于每一个选项卡显示一个独立的信息 该控件的每一个选项卡都是一个TTabSheet控件 10 3PageControl控件 多选项卡控件PageControl实现在一个窗体上进行浏览多个事件的处理情况 该组件位于WIN32组件板上 适用于每一个选项卡显示一个独立的信息 该控件的每一个选项卡都是一个TTabSheet控件 在新的工程的窗体中添加一个PageControl控件 选择该控件 单击鼠标右键 在弹出的快捷菜单中选择 NewPage 选项 就可以在控件中添加选项卡 多次使用 NewPage 命令可以添加多个选项卡 用户可以分别在每一选项卡中进行设计 各个选项卡之间互不干涉 每个选项卡可以根据用户的需要来设计 TPageControl组件的常用属性Pages属性 该属性是一个数组属性 它的每一个元素代表TPageControl组件中的一个页面 是TTabSheet类型的 PageCount属性 该属性用来返回TPageControl组件中页面的数量 ActivePage属性 该属性用来为TPageControl组件设置当前页或返回TPageControl组件的当前页 其类型是TTabSheet ActivePage属性 该属性用来为TPageControl组件设置当前页或返回TPageControl组件的当前页 其类型是TTabSheet ActivePageIndex属性 该属性用来返回TPageControl组件的当前页的索引号 或通过该属性把某索引号的页设为当前页 MultiLine属性 该属性用来决定页标签是否允许多行显示 例10 3 编写一个显示文本文件和图片文件的应用程序 要求使用TPageControl组件 在TPageControl组件的两页中分别显示文本文件和图片文件的内容 程序的设计界面如图7 26和图7 27所示 程序的运行时 单击 文本文件 页标签 然后单击 打开 按钮将弹出 打开 对话框供用户选择一个文本文件 选中的文本文件将显示在TMemo组件中 如图7 28所示 单击 图片文件 页标签 然后单击 打开 按钮将弹出 打开图片 对话框供用户选择一个图片文件 选中的图片文件将显示在TImage组件中 如图7 29所示 10 4多窗体程序的设计 为应用程序添加和删除窗体窗体间切换 新建一个Delphi项目时 项目中只有一个名为Form1的窗体 如果要为当前应用程序添加窗体 可通过单击工具栏上的新建窗体 按钮来实现 如果想把当前项目中的某窗体去除 可通过单击工具栏上的移去文件 按钮来实现 切换方法是单击工具栏上的查看窗体 按钮 设置主窗体和自动创建窗体所谓主窗体是指程序开始运行时出现的窗体 新建一个Delphi项目时 第一个窗体默认为主窗体 但主窗体可以重新设定 设定方法是执行 Project Options 命令 例10 4 编写一个调查用户购买商品的应用程序 程序运行时将出现一个调查窗体供用户输入信息 如图9 5所示 用户输入信息后按 提交 按钮将出现确认窗体 显示用户输入的信息 如图9 6所示 在该窗体上 用户按 确认 按钮将退出应用程序 如果用户按 重填 按钮将又回到图9 5所示的调查窗体等待用户输入信息 图9 5程序运行界面 一 图9 6程序运行界面 二 单文档 SDI 应用程序设计技术 例10 5 利用Delphi提供的模板创建一个标准的SDI应用程序 创建步骤如下 1 执行 File New Other 命令 将会出现 NewItem 对话框 在该对话框中选中选项卡 Projects
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天宇奥数考试题及答案
- 苏科版2024-2025学年八年级下学期数学期末考试考前预测卷(一)(含答案)
- 第41个教师节校长讲话:躬耕教坛育桃李赓续初心启新篇
- 2025秋季开学第一课(开学典礼)暨校长思政课:从抗战精神中汲取力量以青春之名续写强国华章
- 2025年高级护理技能与评估考试试题及答案
- 《数字政府统一基础运维规范 第4部分:政务外网网络安全服务要求》编制说明
- 社工演讲笔试题及答案
- 棉纺工艺考试题库及答案
- 医疗资源智能配置-洞察及研究
- 设立开放日管理办法
- 外科护理学:腹股沟疝气
- 人教版四年级数学上册学生评价计划
- 棋牌室消防安全管理制度范本
- 部编版语文五年级上册牛郎织女(一)课件
- 《学前儿童艺术教育》课件-第一章
- 企业绿色工厂管理制度
- 《导游业务》课程标准
- 家具厂品质管理制度
- 呼吸道吸入剂应用科普
- 2025年高考真题-化学(河南卷) 含答案
- 2025至2030中国手持式云台稳定器行业项目调研及市场前景预测评估报告
评论
0/150
提交评论