第8章 菜单与工具栏设计
第8章 项目管理器

第8章项目管理器教学目标与要求:☑了解项目的概念、界面☑掌握项目打开、关闭、定制及其基本操作☑掌握项目的创建教学重点难点:☑项目的概念☑项目连编☑项目间共享学习指导:项目管理器是按照一定的逻辑关系,对数据库应用系统的文件进行有效组织的工具。
它提供了最简单的、可视化的方法和编程环境,能方便的实现对数据库、数据表、表单、报表、查询、菜单等文件进行有效的管理。
教学内容:8.1 项目文件8.1.1 项目及项目组成项目管理器是Visual FoxPro中处理数据和管理对象的主要组织工具。
用户可以进行创建新文件、修改文件、查看文件内容、了解和分析文件的运行结果、加入文件和删除文件等操作,并可在系统开发的最后阶段,编译所有的文件生成应用程序文件或可执行文件。
8.1.2 项目文件的创建1. 菜单方式创建项目文件例8-1 创建一个空的项目文件“学籍管理”,并存储在“D:\学籍项目”文件夹中。
利用菜单方式创建的操作步骤为:(1)选择“文件”菜单下的“新建”选项,或单击标准工具栏上的“新建”按钮,或按快捷键Ctrl+N,打开“新建”对话框。
(2)在“新建”对话框中选择文件类型为“项目”。
(3)单击“新建文件”按钮,弹出“创建”对话框,如图8-1所示。
图 8-1 “创建”对话框(4)在“创建”对话框中确定文件的存放位置及名称,系统默认的文件名为“项目1”。
在这里,选择项目文件的存放路径:“D:\学籍项目”,“项目文件”文本框中输入“学籍管理”。
(5)单击“保存”按钮,屏幕显示项目管理器窗口,如图8-2所示,表明已创建了一个新项目。
图 8-2 “项目管理器”窗口说明:在项目管理器中,用户可以进行各类文件的建立、修改等操作。
在系统主菜单中出现“项目”菜单项,如图7-2所示。
该菜单用于实现对项目的管理。
2. 命令方式创建项目文件建立项目文件也可以通过命令方式来实现,其命令格式为:CREATE PROJECT [<文件存放路径>]<项目文件名>例如:CREATE PROJECT D:\学籍项目\教师管理8.1.3 项目管理器界面1. 项目管理器中的选项卡在项目管理器中有六张选项卡,利用这些选项卡,用户可以对各类文件进行操作。
第9章 vfp 菜单与工具栏

在运行菜单之前,必须先生成扩展名为(.MPR) 在运行菜单之前,必须先生成扩展名为(.MPR)的菜 单程序文件。 单程序文件。
“生成”菜单 生成”
9.1 规划与设计菜单
9.1.3
创建菜单
调试与运行菜单 菜单运行命令: 菜单运行命令: 菜单文件名.MPR DO 菜单文件名.MPR
注意:运行菜单命令中必须给出菜单程序文件扩展名( 注意:运行菜单命令中必须给出菜单程序文件扩展名(.MPR) )
9.1 规划与设计菜单
9.1.3
创建菜单
在“新建菜单”对话框中,单击“菜单”按钮,打开“菜 新建菜单”对话框中,单击“菜单”按钮,打开“ 单设计器” 单设计器”
“菜单设计器”对话框 菜单设计器”
9.1 规划与设计菜单
9.1.3
创建菜单
创建菜单栏 第一级菜单为菜单栏, 菜单名称” 第一级菜单为菜单栏,在“菜单名称”下依次输入
子菜单
9.1 规划与设计菜单
9.1.3
创建菜单
为菜单或菜单项指定任务 结果”列选择“命令” 若“结果”列选择“命令”,则在后面的输入框中输入相 应的命令;若选择“过程” 则在后面单击“创建”按钮。 应的命令;若选择“过程”,则在后面单击“创建”按钮。
子菜单项
“选项” 选项” 按钮 “插入栏” 插入栏” 按钮
9.2
创建自定义工具栏
工具栏是由直观形象的图标或其他对象组成的泊留或浮动 于应用程序窗口的条状工具列表。 于应用程序窗口的条状工具列表。
工具栏
9.2 创建自定义工具栏
9.2.1 定义工具栏类
使用VFP提供的工具栏(ToolBar)基类,定义所需 使用VFP提供的工具栏(ToolBar)基类, VFP提供的工具栏 的工具栏类。 的工具栏类。
VFP第8章菜单和工具栏

6
一般菜单设计(续)
4.启用和废止菜单项 表达式为真,则废止该菜单或菜单项
5.创建子菜单 6.在子菜单中插入系统菜单栏 7.使用“快速菜单”创建菜单系统
7
菜单的调试与运行
预览菜单 生成和执行菜单
.mnx.mpr
do 菜单名.mpr (一定要加后缀名)
恢复系统的默认菜单
set sysmenu to default
在程序执行期间废止 Visual FoxPro 主菜单栏:
set sysmenu off
8
创建快捷菜单
快捷菜单是附加在表单或表单控件上的通过 鼠标右键访问的一种菜单。 创建方法:
同一般菜单,但开始时选择“快捷菜单” 附加到控件上的步骤:
3
Hale Waihona Puke 创建菜单创建菜单的方法:
1) 利用项目管理器 2) “文件”菜单的“新建”命令 3) 命令创建 (create menu) 4) “快速菜单”
两种菜单类型:
一般菜单和快捷菜单(区别)
菜单的后缀名: .mnx和.mnt .mpr(菜单程序文件,可执行)
4
“菜单设计器”界面介绍
菜单名称——指定菜单项的标题。 访问键 \< 移动控制——调整菜单项的先后位置 结果——选择菜单后发生的动作
do 菜单名.mpr with This, .T.
10
11.2创建自定义工具栏
感兴趣自己看 注意点: 1.工具栏的基类:ToolBar
2.Grid控件不能添加到工具栏中,其他的 能添加到表单中的控件都能添加到工具栏
11
1) 选定控件 2) 选择控件的“Right Click”事件 3) 在代码窗口中输入“do 名称.mpr”
第7章 菜单、工具栏和状态栏

菜单项的事件: 菜单项的事件:Click
7
本章目录
一些常用的快捷键及其含义:
<Ctrl+N> ——创建新文件。 <Ctrl+O> ——打开一个已有的文件。 <Ctrl+S> ——保存当前文件。 <Ctrl+Z> ——取消。 <Ctrl+X> ——剪切。 <Ctrl+C> ——复制。 <Ctrl+V> ——粘贴。 <Alt+F4> ——关闭窗口。
16
案例分析: 案例分析:状态栏的使用
为记事本创建一个状态栏,包含两个ToolStripStatusLabel 为记事本创建一个状态栏,包含两个ToolStripStatusLabel 要求启动窗体时显示系统日期
stslblTime.Text ="当前日期:"+ DateTime.Now.ToShortDateString(); 当前日期: 当前日期
13
2.工具栏各项属性和事件
(1)工具栏各按钮 如ToolStripButton1)属性 工具栏各按钮(如 工具栏各按钮 属性 Image:指定按钮上的图片 指定按钮上的图片 Text:显示在工具按钮上的文本 显示在工具按钮上的文本 DisplayStyle:获取或设置工具按钮是否显示文本和图像 获取或设置工具按钮是否显示文本和图像 Checked:确定是否按下工具按钮。 确定是否按下工具按钮。 确定是否按下工具按钮 CheckOnClick:指定工具按钮是否自动显示按下或未按下 指定工具按钮是否自动显示按下或未按下 状态。 状态。 ToolTipText:指定工具提示的文本 指定工具提示的文本 (2)事件: )事件: Click事件 事件 CheckChanged事件:Check属性发生变化时发生 事件: 事件 属性发生变化时发生
Protel 99 SE原理图设计系统菜单及常用工具栏中英文对照

Protel99SE原理图设计系统菜单及常用工具栏1.Protel99SE原理图设计系统菜单①File(文件)下子菜单New…新建文档New Design…新建项目Open…打开文档Open Full Project打开当前项目的文档Close关闭当前文档Close Design关闭当前项目Import导入…Export导出…Save保存当前文档Save As…文档另存为Save Copy As…当前文档备份Save All保存所有文档Setup Printer…打印设置Print打印当前文档Exit退出Protel②Edit(编辑)下子菜单Undo撤销本次操作Redo恢复上次操作Cut剪切Copy复制Paste粘贴Paste Array…阵列式粘贴Clear直接清除被选定的对象Find Text…查找文字Replace Text…替换文字Find Next…查找下一个Select选择Deselect撤销选择Toggle Selection选择切换Delete清除(鼠标单击被选定的对象)Change打开属性对话框(鼠标单击被选定的对象)Move移动对象Align排列对象Jump跳转(可跳转到标记或者图纸的原点)Set Location Marks设置标记Increment Part Number功能单元序号增量变化Export to Spread…生成更详细的元器件清单(XLS文件)③View(视图)下子菜单Fit document放大整个文档到窗口Fit All Objects放大所有对象到窗口Area区域放大Around Point放大微小区域50%50%缩放100%100%缩放200%200%缩放400%400%缩放Zoom In放大Zoom Out缩小Pan以鼠标处为屏幕中心缩放Refresh刷新Design Manager设计管理器开关Status Bar状态栏开关Command Status命令栏开关ToolBars工具栏开关Visible Grid可视栅格设置对话框开关Snap Grid捕捉栅格设置对话框开关Electrical Grid电气栅格设置对话框开关④Place(放置)下子菜单Bus放置总线Bus Entry放置总线入口Part…放置元器件Junction放置连接点Power Port放置电源(地)Wire放置导线Net Label放置网络标号Port放置I/O端口Sheet Symbol放置图纸符号Add Sheet Entry放置图纸入口Directives放置非ERC点等Annotation放置字符串Text Frame放置文本框Drawing Tools绘图工具栏开关Process Container放置过程容器标志⑤Design(设计)下子菜单Update PCB…更新到PCBBrowse Library…打开元器件浏览器Add/Remove Library…添加、删除元器件库Make Project Library生成项目元器件库Update Parts In Cache更新缓存中的部件Template模板Create Netlist…创建网络表Create Sheet From Symbol由图纸符号创建图纸Create Symbol From Sheet由图纸创建图纸符号Options…打开文档属性对话框⑥Tools(工具)下子菜单ERC…启动电气规则检查Find Component…查找元器件Up/Down Hierarchy层次电路切换Complex To Simple将层次电路的复杂式结构转换为简单式结构Annotate…统一修改标号Back Anotate…按文件内容对元器件标号Database Links…使用数据库内容更新原理图Process Containers过程容器Cross Probe原理图与PCB间交互查找Select PCB Components到PCB查看选定元器件Preferences…打开参数选择对话框⑦Report(报告)下子菜单Selected Pins…查看被选定的引脚Bill of Material生成元器件清单Design Hierarchy生成层次设计表Cross Reference生成交叉参考表Add Port References(Flat)添加端口参考Add Port References(Hierarchical)添加端口参考(层次设计)Remove Port References清除端口参考Netlist Compare…生成网络比较表2.Protel99SE原理图设计系统常用工具栏①画线工具栏如图附录1-1所示,由左至右、由上至下依此为:放置导线、放置总线、放置总线入口、放置网络标号、放置电源(地)、放置元件、放置图纸符号、放置图纸入口、放置端口、放置连接点、放置忽略ERC检查点、放置PCB布线指示。
VFP第8章 报表和标签设计

第8章 报表和标签设计
报表的一些常规布局如下图(含义见表8.1)。
• 在设计报表布局时,并不直接将字段的数据添加在页面上,而是为该字 段预留一个位置(用一种称为“域”的控件来实现),如同在表单设计 中用文本框控件来显示某个字段一样。打印时,域控件从对应的字段中 取得具体数据填充在它所在的位置。 • 可见,报表文件决定页面的外观(布局),页面上域控件显示的数据则 来自数据源。
第8章 报表和标签设计
(3) 图形控件 在报表中添加线条、矩形框等控件可以使报 表更为清晰、美观。比如我们在例题中标题 与页标头之间,总结中都用线条分隔开来。 (4) 图片OLE绑定控件 在报表的细节中添加0LE绑定控件,如在报 表中添加图片、公司的标志、学校的校微、 随着显示记录的不同显示每个学生的照片等。
第8章 报表和标签设计
8.2 创建标签
标签与报表非常相似,可以说标签是一种 特殊类型的报表。下面简要介绍创建标签 的方法。 8.3.1 使用标签向导创建标签 书P233
第8章 报表和标签设计
8.3.2 使用标签设计器创建标签
利用标签向导创建标签外,也可以利用标签设计器创 建标签。还可以进一步修改标签向导生成的标签文 件。使用标签设计器创建标签的步骤很简单: 打开“标签设计器”; 设置数据环境; 定制布局; 插入相应控件,给数据分组等; 预览并保存标签。 由于标签的操作步骤与报表设计器一样,这儿就不详 细介绍了。
第8章 报表和标签设计
3.设置报表设计器界面
在新建报表时,“报表设计器”默认的窗口包含有三个 带区:页标头、细节和页注脚。 (1)添加标题和总结带区。单击系统菜单“报表”中的 “标题/总结”命令选项,在弹出的“标题/总结”对 话框中, 设置报表标题或总结。这里我们选择“标题 带区”和“总结带区”,单击“确定”按钮,在“报 表设计器”窗口上添加了标题和总结两个带区; (2)列表头、列注脚:在报表页面设置时,如果报表被设 置成多拦报表,在“报表设计器”的窗口中还会出现 两个带区。 列标头:用于打印在每一列(一栏)的开始。 列注脚:用于打印在每一列(一栏)的结尾。
第8章 网页制作工具Dreamweaver 8

图8-14 站点参数设置
8.2 站点管理
所谓站点,可以看做是一系列文档的组合,这些文档之 所谓站点,可以看做是一系列文档的组合, 间通过各种链接关联起来,可能拥有相似的属性,例如, 间通过各种链接关联起来,可能拥有相似的属性,例如,描 述相关的主体,采用相似的设计,或者实现相同的目的等, 述相关的主体,采用相似的设计,或者实现相同的目的等, 也可能只是毫无意义的链接。利用浏览器, 也可能只是毫无意义的链接。利用浏览器,就可以从一个文 档跳转到另一个文档,实现对整个网站的浏览。 档跳转到另一个文档,实现对整个网站的浏览。 8.2.1 本地站点和远端站点 严格地说,站点也是一种文档的磁盘组织形式, 严格地说,站点也是一种文档的磁盘组织形式,它同样 是由文档和文档所在的文件夹组成的。 是由文档和文档所在的文件夹组成的。设计良好的网站通常 具有科学的结构,利用不同的文件夹, 具有科学的结构,利用不同的文件夹,将不同的网页内容分 门别类地保存,这是设计网站的必要前提。结构良好的网站, 门别类地保存,这是设计网站的必要前提。结构良好的网站, 不仅便于管理,也便于更新。 不仅便于管理,也便于更新。
图8-12 常规参数设置中更改工作区
8.1 Dreamweaver简介 Dreamweaver简介
8.1.2 Dreamweaver 8的参数设置 8的参数设置 2.新建文档参数设置 新建文档参数设置用于建立默认的新文档类型和首选参数。 新建文档参数设置用于建立默认的新文档类型和首选参数。 选择“分类”列表中的“新建文档”选项, 选择“分类”列表中的“新建文档”选项,对话框右侧显示出相关 的属性,如图8-13所示。 的属性,如图8 13所示。 所示
图8-5 文档工具栏的常用命令和选项
8.1 Dreamweaver简介 Dreamweaver简介
第8章创成式外形设计

建完成。
1-16
8.3.5 创建多截面扫掠曲面
【多截面曲面】工具,是通过几个已知的截面曲线扫描曲面 的工具。
下面以如图所示图形创建多截面扫描曲面为例,讲解【多截 面曲面】工具的使用方法,具体操作步骤如下所示:
1-10
8.2.7 创建曲线
曲线工具栏是用来创建曲线的工具。单击【线框】工具栏上 的【样条线】工具按钮黑色三角,展开曲线工具栏,该 工具栏包含样条线、螺旋线、螺线、脊线和等参数曲线 五个曲线创建工具。
1.创建样条线(Spline) 2.创建螺旋线(Helix) 3.创建螺线(Spiral) 4.创建脊线(Spine) 5.创建等参数曲线(Isoparametric Curve)
1.轴线 2.折线
1-6
8.2.3 投影(Projection)
【线框】工具栏上的【投影】工具是根据曲线投影或连接来 创建曲线,单击【投影】工具右下黑色三角,展开【投 影-混合】工具栏,如图所示,该工具栏包含投影、混合 、反射线三个工具。
1.投影(Projection) 2.混合(Combine) 3.反射线(Reflect line)
差。
1-18
8.3.7 创建高级曲面
高级曲面是对曲面进行变形生成新的曲面。本小节将通过实 例来讲解高级曲面的使用方法。
1.创建突起曲面 2.使用包裹曲线变形曲面 3.使用包裹曲面变形曲面 4.改变曲面形状
1-19
8.4 编辑曲面
前面讲解了创成式外形设计方法。但一个做好的曲面不是孤 立的,往往会与其几何元素发生关系,而且曲面本身也 需要不断地修改以满足下一步造型的需要,这就需要对 曲面进行编辑。本节将介绍几种常见的曲面编辑方法: 合并、拆分、剪切、复制以及倒角等。
Visual Basic程序设计(第3版)电子教学资料

中等职业学校教学用书(计算机技术专业)Visual Basic程序设计(第3版)电子教学资料前言为了配合《Visual Basic程序设计》(第3版)课程的教学,体现教材的编写特色,更好地为读者服务,我们编写了此教学资料。
教学资料共分为四方面内容:第一部分是教学指南,包括了课程性质与任务、学习本课程所需的预备知识、各章节教学提要(重点、难点),课程内容和要求,教学建议、教学时间分配等。
第二部分是电子教案,采用PowerPoint课件形式。
教师可以根据不同的教学要求按需选取和重新组合。
第三部分是习题答案,给出了书中每道习题的详细解答过程。
限于编著者水平,对于教学资料中的错误和不足之处,敬请读者给予批评指正。
如果您有什么建议或想法,请与我们联系。
编者2007年10月《Visual Basic程序设计》(第3版)教学指南一、课程性质和任务Visual Basic(简称VB)程序设计是理工类专业的专业基础课程,有着较强的实践性、应用性。
VB是一种有代表性的流行的可视化语言,利用它可以简便地创建出具有专业外观的应用程序。
VB是当代理工类学生知识结构中不可缺少的组成部分,对于培养既有本专业技术知识,又能把计算机技术用于本专业领域的现代化技能型人才具有重要的作用。
本课程的任务是使学生通过本课程的学习和示例分析,掌握使用VB开发Windows 应用程序的一般方法,理解应用程序的基本概念、主要功能和应用程序开发的基本思想,能够根据实际需要自行开发简单的Windows应用程序,并为今后进一步使用VB或其他面向对象的可视化开发工具打下基础,为将来在工作岗位上运用VB进行数据计算和处理奠定基础。
二、本课程所需预备知识学习本课程,要求学生应具有计算机操作的基础知识。
建议在学习《计算机应用基础》课程后再开设本课程。
三、教学提要本课程介绍使用Visual Basic进行程序设计的方法,只要学生具有基本的计算机操作知识,就可以轻松地学习VB。
C#程序开发范例宝典目录解析

C#程序开发范例宝典目录第1章窗体与界面设计 11.1菜单应用实例 2实例001带历史信息的菜单 2实例002菜单动态合并 3实例003像开始菜单一样漂亮的菜单 4实例004任务栏托盘菜单 5实例005可以拉伸的菜单界面 5实例006菜级联菜单71.2工具栏设计7实例007带背景的工具栏7实例008浮动工具栏8实例009带下拉菜单的工具栏9实例010具有提示功能的工具栏91.3状态栏设计10实例011在状态栏中显示检查框10实例012带进度条的状态栏11实例013状态栏中加入图标121.4导航菜单界面12实例014OutLook界面12实例015带导航菜单的主界面14实例016图形化的导航界面151.5特色程序界面17实例017类QQ的程序界面17实例018类似Windows Xp的程序界面18 实例019以图形按钮显示的界面20实例020以树形显示的程序界面21实例021动态按钮的窗体界面221.6特殊形状的窗体24实例022非矩形窗体24实例023建立字体形状窗体25实例024控件随窗体自动调整26实例025带分隔栏的窗体27实例026随机更换主界面背景271.7多媒体光盘28实例027自动启动的多媒体光盘程序28 实例028为触摸屏程序添加虚拟键盘29 1.8窗体效果30实例029半透明渐显窗体31实例030窗口颜色的渐变321.9窗体动画33实例031窗体中的滚动字幕33实例032动画显示窗体34实例033制作闪烁的窗体35实例034直接在窗体上绘图37实例035动画形式的程序界面381.10标题栏窗体39实例036使窗体标题栏文字右对齐39实例037没有标题栏但可以改变大小的窗口391.11设置窗体位置40实例038设置窗体在屏幕中的位置40实例039始终在最上面的窗体411.12设置窗体大小42实例040限制窗体大小42实例041获取桌面大小42实例042在窗口间移动按钮43实例043如何实现Office助手441.13窗体控制技术45实例044在关闭窗口前加入确认对话框45实例045使用任意组件拖动窗体46实例046修改提示字体及颜色471.14其他技术48实例047如何为MDI类型窗体设置背景图片48实例048向提示框中添加图标49第2章控件应用512.1TextBox控件应用52实例049只允许输入数字的TextBox控件52实例050限制用户名称长度及设置密码文本54实例051自动删除非法字符55实例052为TextBox控件添加列表选择框572.2Button控件应用58实例053在Button按钮中显示图标582.3ComboBox控件应用59实例054将数据表中的字段添加到ComboBox控件59 实例055带查询功能的ComboBox控件612.4RichTextBox控件应用63实例056利用RichTextBox控件实现文档管理功能63 实例057利用RichTextBox控件实现文字定位与标识65 实例058用RichTextBox控件显示图文数据672.5ListBox控件应用68实例059在ListBox控件间交换数据68实例060将数据库数据添加到组合框中70实例061借助绑定控件实现数据选择录入71实例062ListBox拒绝添加重复信息722.6选择类控件应用73实例063利用选择控件实现权限设置74实例064利用选择控件实现复杂查询762.7ListView控件应用78实例065ListView列表拒绝添加重复信息78实例066将数据库数据添加到ListView控件80实例067用ListView控件制作导航界面81实例068在ListView控件中对数据排序或统计83实例069在ListView控件中绘制底纹84实例070在列表视图中拖动视图项85实例071用ListView控件选取整行数据88实例072用ListView控件开发登录界面892.8TreeView控件应用91实例073将数据库数据显示到树视图中91实例074用TreeView控件制作导航界面93实例075用TreeView控件遍历磁盘目录94实例076TreeView控件在数据库中的应用96实例077带复选框的树状菜单982.9其他控件典型应用100实例078TrackBar的简单应用100实例079SplitContainer的应用102实例080MaskedTextBox控件的简单应用103实例081制作日历计划任务105实例082ImageAnimator类显示动画图片108实例083QQ头像列表1102.10控件技术112实例084程序运行时智能增减控件112实例085控制焦点移动114实例086动态创建控件115实例087在Button按钮上绘图1162.11焦点变换与输入控制117实例088按回车键焦点在控件中移动的录入窗口117实例089程序运行时拖动控件119实例090控件得到焦点时变色120实例091控件的输入限制1212.12特殊控件122实例092为控件制作立体效果122实例093获取控件名称和内容124第3章组件应用1273.1BackgroundWorker组件128实例094BackgroundWorker组件执行异步操作1283.2ErrorProvider组件130实例095使用ErrorProvider组件验证文本框输入130实例096利用ErrorProvider组件查看数据集中的错误132 3.3EventLog组件134实例097使用EventLog组件读写Windows系统事件日志134 实例098使用EventLog组件保存Windows系统日志136实例099使用EventLog组件向本机现有日志中添加条目1383.4FileSystemWatcher组件140实例100使用FileSystemWatcher组件监视系统日志文件是否被更改140 3.5HelpProvider组件142实例101使用HelpProvider组件调用帮助文件1423.6Process组件143实例102使用Process组件访问本地进程1433.7Timer组件145实例103使用Timer组件制作计时器145实例104使用Timer组件显示当前系统时间150实例105使用Timer组件制作左右飘动的窗体151实例106使用Timer组件实现奥运倒计时1523.8ServiceController组件154实例107使用ServiceController组件控制计算机的服务1543.9ImageList组件156实例108使用ImageList组件制作动画图片1563.10DirectoryEntry组件157实例109使用DirectoryEntry组件建立虚拟目录158第4章图形技术1614.1绘制图形162实例110基本图形绘制162实例111在图片中写入文字163实例112局部图片的复制165实例113波形图的绘制1664.2图形转换168实例114BMP转换成JPG格式168实例115JPG转换成BMP格式170实例116位图转化为WMF171实例117Ico文件转化为位图172实例118图片批量转换工具1734.3图像预览175实例119局部图像放大175实例120浏览大图片177实例121剪切图片178实例122图像旋转181实例123鼠标拖拽图像1824.4图形缩放与变换183实例124如何放大和缩小图像183实例125如何旋转JPG图像184实例126如何实现图形翻转1854.5图像效果186实例127百叶窗效果显示图像186实例128推拉效果显示图像187实例129水平交错效果显示图像188实例130垂直交错效果显示图像190实例131图像纹理效果191实例132图像浮雕效果193实例133积木效果194实例134马赛克效果显示图像1954.6图像字体197实例135旋转的文字197实例136当前系统字体列表198实例137空心文字199实例138如何在图片上平滑移动文字201 4.7图像动画202实例139动画背景窗体202实例140随鼠标移动的图像203实例141十字光标定位204实例142抓取鼠标形状2064.8图像识别207实例143查看图片的像素207实例144获取指定点的RGB值2074.9图像工具208实例145获取图片类型208实例146简单画图程序209实例147看图工具213实例148文字保存为图片2154.10图像应用215实例149随机更换壁纸程序216实例150屏幕保护217实例151模拟石英钟219实例152生肖速查221第5章多媒体技术2255.1CD、VCD播放226实例153播放指定的avi-mid-wav文件226 实例154获取多媒体详细信息列表227 5.2MP3、W A V播放228实例155带记忆功能的MP3播放器228实例156自动播放的MP3播放器231实例157学校体操定时音乐播放2335.3动画播放234实例158播放Flash动画234实例159制作A VI播放器236实例160播放Gif动画237实例161利用Image制作小动画2395.4媒体控制240实例162检测是否安装声卡240实例163打开和关闭CDROM241实例164控制PC喇叭发声2425.5多媒体应用243实例165开机祝福程序243实例166制作家庭影集245实例167产品电子报价246实例168产品滚动展示程序248实例169将图片资源添加到EXE里249 5.6屏幕保护相关程序250实例170电子相册屏幕保护程序250实例171歌曲播放屏幕保护程序251第6章文件系统2536.1创建和删除文件254实例172创建和删除文件夹254实例173建立临时文件255实例174根据日期动态建立文件256实例175清空回收站2576.2查找文件258实例176搜索文件259实例177检查文件是否存在260实例178提取指定文件夹目录2616.3修改文件261实例179更改文件名称262实例180修改文件属性262实例181修改文件及目录的名字2646.4文件目录265实例182获得临时文件目录265实例183获取应用程序所在目录266实例184得到系统当前目录266实例185在程序中改变当前路径2676.5复制文件268实例186移动正在使用的文件268实例187批量复制文件2696.6指定类型的文件操作270实例188文本文件的操作270实例189简单的文件加密解密2716.7其他273实例190获取窗口文本273实例191判断文件是否正在被使用274实例192在程序中调用.HLP文件275实例193C#中实现文件拖放276实例194文件比较276第7章操作系统与Windows相关程序279 7.1启动相关280实例195进入Windows前发出警告280实例196实现注销、关闭和重启计算机281 7.2获得磁盘属性284实例197获得硬盘序列号284实例198获取映射驱动器路径286实例199判断驱动器类型2877.3磁盘相关设置288实例200取消磁盘共享288实例201检查驱动器容量289实例202检测磁盘是否准备好290实例203图表显示磁盘容量291实例204格式化磁盘2937.4系统控制294实例205怎样隐藏鼠标294实例206允许和禁止用户关机295实例207锁定计算机2967.5系统设置297实例208设置系统输入法297实例209设置桌面颜色298实例210鼠标交换左右键2997.6系统监控299实例211检测系统启动模式300实例212内存使用状态监控301实例213监视剪贴板内容3027.7系统软件信息303实例214获取用户名303实例215获取系统目录305实例216注册系统热键306实例217获取和修改BIOS计算机名307 7.8鼠标操作308实例218动画鼠标309实例219限制鼠标活动区域310实例220获取鼠标在任意点的位置311实例221判断键盘按下的键值3117.9程序控制312实例222打开控制面板中的程序313实例223添加程序托盘314实例224不出现在任务栏上的程序314实例225怎样调用外部的Exe文件315实例226关闭外部已开启的程序3167.10程序运行317实例227防止程序多次运行317实例228开机后程序自动运行319实例229获取任务栏尺寸大小320实例230改变系统提示信息321实例231获取系统环境变量322实例232启动屏幕保护3237.11系统隐藏324实例233隐藏、显示任务栏324实例234隐藏、显示开始按钮325实例235查看当前系统版本326实例236使桌面图标文字透明328实例237检索系统中正在运行的任务329实例238列出系统中的打印机3307.12其他332实例239两种信息发送方式332实例240功能快捷键336第8章注册表3398.1操作注册表340实例241怎样存取注册表信息340实例242注册表保存注册信息341实例243设置“显示属性”窗体342实例244列出注册表指定项下全部键值3438.2系统设置344实例245隐藏、显示桌面图标345实例246隐藏驱动器345实例247禁用运行注册表3478.3IE浏览器设置348实例248修改IE浏览器标题栏内容348实例249隐藏IE浏览器的右键关联菜单349实例250设置IE浏览器的默认主页350实例251禁止修改IE浏览器主页3518.4应用软件设置352实例252设置Word 2000文档及图片的保存路径352实例253限制软件使用次数353第9章数据库技术3559.1连接Access数据库356实例254连接Access数据库356实例255连接加密的Access数据库357实例256自动识别Access 2000数据库路径358实例257连接网络上共享的Access 2000数据库3609.2连接SQL Server数据库361实例258使用ODBC DSN连接SQL Server数据库361实例259使用ODBC非DSN连接SQL Server数据库364 实例260使用OLE DB连接SQL Server数据库365实例261建立SQL Server数据库连接3669.3连接其他数据库367实例262连接Excel367实例263连接Oracle数据库3689.4数据库结构的读取与修改369实例264读取SQL Server数据库结构369实例265修改SQL Server数据库结构3729.5数据录入374实例266利用数据绑定控件录入数据374实例267使用对象录入数据376实例268利用SQL语句录入数据379实例269利用存储过程录入数据3809.6图片存取技术383实例270使用存取文件名的方法存取图片383实例271使用对象向SQL Server数据库存入图片384 9.7数据修改387实例272利用数据绑定控件修改数据387实例273利用数据对象修改数据390实例274利用SQL语句修改数据391实例275利用存储过程修改数据3939.8数据保存前判断395实例276判断输入数据是否符合要求395实例277通过存储过程实现自动编号3989.9数据删除401实例278删除表格中指定的记录401实例279利用SQL语句删除数据4029.10数据记录403实例280分页显示信息403实例281移动记录4049.11数据维护406实例282在C#中分离SQL Server数据库406实例283在C#中附加SQL Server数据库407实例284在C#中附加单文件SQL Server数据库4099.12数据备份恢复410实例285备份SQL Server数据库410实例286还原SQL Server数据库4139.13管理系统开发相关415实例287开启SQL Server数据库415实例288断开SQL Server数据库与其他应用程序的连接417实例289带图像列表的系统登录程序419实例290利用SQL语句执行外围命令420实例291系统初始化421第10章SQL查询相关技术42510.1SELECT子句426实例292查询特定列数据426实例293使用列别名428实例294在列上加入计算430实例295使用函数设置条件43110.2查询常量432实例296查询数字433实例297查询字符串434实例298查询日期数据436实例299查询逻辑型数据437实例300查询空数据43810.3查询变量440实例301利用变量查询字符串数据440实例302利用变量查询数值型数据441实例303利用变量查询日期型数据44210.4模式查询444实例304利用“_”通配符进行查询444实例305利用“%”通配符进行查询445实例306利用“[]”通配符进行查询446实例307利用“[^]”通配符进行查询448实例308复杂的模式查询44910.5TOP和PERCENT限制查询结果450实例309查询前10名数据450实例310取出数据统计结果的前10名数据451实例311查询销售量占前50%的图书信息453实例312查询库存数量占后20%的图书信息454 10.6周期、日期查询455实例313查询指定日期的数据455实例314查询指定时间段的数据457实例315按月查询数据45810.7比较、逻辑、重复查询460实例316查询数据大于指定条件的数据460实例317NOT与谓词进行组合条件的查询461实例318查询时不显示重复记录463实例319列出数据中的重复记录和记录条数465 10.8在查询中使用OR和AND运算符466实例320利用OR运算符进行查询466实例321利用AND运算符进行查询467实例322同时利用OR、AND运算符进行查询469 10.9排序、分组统计471实例323数据分组统计(单列)471实例324在分组查询中使用ALL关键字473实例325在分组查询中使用CUBE运算符475实例326在分组查询中使用ROLLUP477实例327对数据进行降序查询479实例328对数据进行多条件排序480实例329对统计结果进行排序482实例330按仓库分组统计图书库存(多列)483 实例331多表分组统计484实例332使用COMPUTE485实例333使用COMPUTE BY48710.10聚合函数488实例334利用聚合函数SUM对销售额进行汇总488实例335利用聚合函数A VG求某班学生的平均年龄490实例336利用聚合函数MIN求销售额、利润最少的商品492实例337利用聚合函数MAX求月销售额完成最多的员工493实例338利用聚合函数COUNT求日销售额大于某值的商品数495实例339利用聚合函数First或Last求数据表中第一条或最后一条记录496 10.11多表查询(连接查询)498实例340利用FROM子句进行多表查询498实例341使用表别名499实例342合并多个结果集50110.12嵌套查询503实例343简单嵌套查询503实例344复杂嵌套查询504实例345嵌套查询在查询统计中的应用50610.13子查询508实例346用子查询做派生的表508实例347用子查询作表达式510实例348在Update语句中应用子查询51110.14联合语句Union512实例349使用联合查询512实例350多表联合查询514实例351对联合查询后的结果进行排序51510.15内联接查询517实例352简单内联接查询517实例353复杂内联接查询518实例354使用内联接选择一个表与另一个表中行相关的所有行51910.16外联接查询520实例355left outer join查询521实例356right outer join查询522实例357使用外联接进行多表联合查询52310.17利用IN进行查询525实例358用IN查询表中的记录信息525实例359使用IN引入子查询限定查询范围52610.18交叉表查询527实例360利用Trasform分析数据527实例361利用Trasform动态分析数据529实例362静态交叉表(SQLServer 2000)531实例363动态交叉表(SQLServer 2000)53310.19函数查询535实例364在查询语句中使用格式化函数536实例365在查询语句中使用字符串函数537实例366在查询中使用日期函数53810.20having语句应用540实例367利用having语句过滤分组数据540实例368having语句应用在多表查询中54110.21视图的应用543实例369在C#中应用视图543实例370获取数据库中的全部用户视图544实例371通过视图修改数据54510.22存储过程的应用546实例372C#应用存储过程546实例373应用存储过程添加数据547实例374应用存储过程修改数据549实例375应用存储过程删除数据550实例376C#应用查询存储过程551实例377获取数据库中全部的存储过程552实例378加密存储过程55310.23触发器的应用555实例379Insert触发器的应用555实例380Update触发器在系统日志中的应用556实例381触发器的嵌套使用557实例382获取数据库中的触发器559第11章报表与打印技术56111.1Windows组件打印562实例383打印窗体中的数据562实例384图形打印56411.2利用报表生成器设计报表566实例385利用报表专家设计并显示学生基本信息566实例386分组统计报表569实例387在水晶报表中添加图表57111.3水晶报表基本操作574实例388在水晶报表中使用Access数据库575实例389在水晶报表中使用SQL Server数据库576实例390订货总金额超过10万元显示“恭喜获奖”文字577 实例391薪资大于或等于1万元使用蓝色字体标记580实例392筛选薪资大于2000元的男员工582实例393按类别分组统计图书库存584实例394按成绩总分降序排序585实例395部门销售量占公司总销售量的业绩百分比586 11.4子报表的使用588实例396插入子报表588实例397编辑与重新导入子报表589实例398根据需要显示子报表59111.5调用Office进行打印593实例399利用Word打印员工报表593实例400利用Excel打印学生信息报表595第12章图表技术59712.1简单图表598实例401绘制坐标系598实例402绘制椭圆599实例403绘制矩形601实例404绘制曲线60212.2柱形图表603实例405将汇总数据利用图表分析603实例406柱形图表分析商品走势605实例407对排序数据进行分析608实例408利用控件实现柱形图分析60912.3折线图表610实例409利用图表分析产品销售走势610实例410利用图表分析彩票中奖情况612实例411多曲线数据分析614实例412网站人气指数曲线分析61712.4饼型图表619实例413利用饼型图分析公司男女比率619实例414利用饼型图分析产品市场占有率620实例415利用多饼型图分析企业人力资源情况621 12.5图表技术的应用623实例416绘制验证码623实例417绘制不规则窗体625第13章硬件相关开发技术62713.1串口控制628实例418通过串口发送数据628实例419通过串口关闭对方计算机63013.2加密狗631实例420密码写入与读出加密狗631实例421使用加密狗进行身份验证63413.3IC卡应用635实例422向IC卡中写入数据635实例423读取IC卡中的数据638实例424利用IC卡制作考勤程序63913.4监控641实例425简易视频程序641实例426摄像头监控录像644实例427超市摄像头定时监控系统64513.5语音卡控制647实例428语音卡电话呼叫系统647实例429客户来电查询系统652实例430语音卡实现电话录音65313.6手机程序开发655实例431利用短信猫收发短信息655实例432利用短信远程关闭计算机659实例433短信息采集烟草销售数据660实例434“春晚”节目评比短信息互动平台663 13.7其他程序664实例435条形码扫描器销售商品664实例436利用神龙卡制作练歌房程序665第14章网络开发技术66914.1计算机设置670实例437更改计算机名称670实例438通过计算机名获取IP地址672实例439通过IP地址获取主机名称673实例440修改本机IP地址674实例441得到本机MAC地址677实例442获得系统打开的端口和状态678实例443更改DNS地址68014.2远程控制681实例444远程控制计算机682实例445远程服务控制68314.3网络复制文件686实例446网络中的文件复制68614.4局域网管理688实例447在局域网内发送信息688实例448获取网络中所有工作组名称690实例449列出工作组中所有计算机692实例450获取网络中某台计算机的磁盘信息693 实例451映射网络驱动器69414.5网络连接与通信696实例452编程实现Ping操作69614.6网络聊天室698实例453利用C#设计聊天程序698实例454编写网络聊天室700第15章Web编程70315.1浏览器应用704实例455制作自己的网络浏览软件704实例456XML数据库文档的浏览70815.2上网控制710实例457定时上Internet710实例458监测当前网络连接状态71215.3邮件管理713实例459收取电子邮件713实例460SMTP协议发送电子邮件71715.4网上信息提取719实例461提取并保存网页源码719实例462提取网页标题722第16章加密、安全与软件注册72516.1数据加密与解密726实例463数据加密技术726实例464文本文件加密与解密727实例465利用图片加密文件73216.2Access数据库安全735实例466如何编程修复Access数据库735实例467访问带验证模式的Sqlserver 2000数据库73716.3软件注册与加密739实例468利用INI文件对软件进行注册739实例469利用注册表设计软件注册程序741实例470利用网卡序列号设计软件注册程序743实例471根据cpu序列号、磁盘序列号设计软件注册程序746 第17章数据结构与算法74917.1链表的实现750实例472单向链表的实现75017.2双向链表755实例473双向链表75517.3堆栈760实例474堆栈的实现76017.4队列762实例475队列的实现76317.5树的实现764实例476树的实现76417.6排序769实例477冒泡排序769实例478选择排序770实例479插入排序771实例480希尔排序77217.7常见算法的实际应用773实例481判断素数的算法773实例482加密和解密算法774实例483判断身份证是否合法775实例484判断IP地址是否合法的算法777实例485按要求生成指定位数编号778实例486身份证号从15位升到18位算法779第18章C#高级开发78118.1Windows服务开发782实例487将局域网聊天程序开发成Windows服务78218.2Remoting分布式开发789实例488运用Remoting实现文件传送789实例489大规模数据访问时缓解服务器压力79618.3COM+服务开发802实例490COM+服务实现银行转账系统803实例491COM+服务解决同时访问大量数据并发性807 第19章实用工具81319.1数据库工具814实例492自动配置ODBC的程序814实例493制作SQL Server提取器81719.2个人工具819实例494个人通讯录819实例495电子名片盒822实例496个人日记本823实例497个人理财管理82519.3实用工具827实例498电话区号、邮编管理软件827实例499火车时刻查询软件828实例500网站网址导航程序83219.4其他工具833实例501人民币金额转换834实例502列举局域网SQL服务器836实例503整点报时程序837实例504红绿灯程序839实例505万年历841实例506彩票抽奖机844实例507电子相册846第20章程序打包84920.1最简单的程序打包850实例508最简单的程序打包850实例509将特定文件安装到指定文件夹中85220.2打包注册表信息854实例510打包注册表信息854技术要点对应实例位置857。
VB菜单、工具栏、菜单栏设计

03 提供足够的自定义选项,以满足不同用户的个性 化需求。
优化界面布局和交互方式
01
合理安排界面元素的位置和大小,使其符合用户的视觉习惯。
02
简化操作流程,减少不必要的步骤和点击次数。
提供清晰的视觉反馈,如按钮点击效果、动态加载指示等,以
03
03
菜单栏设计
菜单栏的布局
水平布局
将菜单项水平排列,适合于较长的菜单项名称。
垂直布局
将菜单项垂直排列,适合于较短的菜单项名称。
分组布局
将相关联的菜单项分组,便于用户快速找到所需功能。
菜单栏的设计原则
简洁明了
菜单项名称应简短、清晰,避免使用过于专 业的术语。
层次分明
菜单项应按照功能分类,形成清晰的层次结 构。
VB菜单、工具栏、菜 单栏设计
目录
• VB菜单设计 • 工具栏设计 • 菜单栏设计 • VB界面设计中的注意事项 • VB界面设计实例分析
01
VB菜单设计
菜单的类型
下拉菜单
下拉菜单是常见的菜单类型,用户点击菜单 项后,会弹出下拉列表供用户选择。
弹出菜单
弹出菜单通常在用户右键点击时出现,提供 一些常用的功能或操作。
02
工具栏设计
工具栏的种类
主工具栏
包含常用命令的综合性工具栏,方便 用户快速访问常用功能。
自定义工具栏
用户可以根据自己的需求创建自定义 工具栏,添加或删除按钮,以适应特 定工作流程。
浮动工具栏
可移动到屏幕任意位置的工具栏,方 便用户在不同区域使用。
停靠工具栏
可以自动停靠在窗体边缘的工具栏, 便于用户快速访问常用命令。
Visual FoxPro 9.0 基础教程第10章 菜单与工具栏

规划菜单的一般原则 下拉菜单的创建方法 顶层表单中使用菜单 快捷菜单的创建与使用 自定义工具栏的创建与使用 顶层表单中使用工具栏
设计菜单的一般原则
任何一个应用程序的实用性在很大程度上取决于菜单 系统的质量。设计菜单时需要把握的一般原则。
(1)按照所要执行的任务组织菜单系统,不要按应用程 序的层次来组织。
设计菜单的一般原则(续)
(5)按照菜单项可能的使用频率、逻辑顺序或字母顺序 组织菜单来 做逻辑分组。
(7)不要让菜单栏上的菜单数目过多,而且一定要限制 在屏幕能容纳的范围内。
(8)适当创建子菜单,不宜过多,也不要太少。 (9)在菜单中的命令用词应当简练、准确,最好使用动
子菜单
菜单选项
菜单提示信息
10.2.1 创建下拉菜单外观
创建下拉菜单一般包括设计下拉菜单的外观与添加 菜单的代码。
1.菜单设计器的打开方法 项目管理器|“其他”选项卡→菜单 系统主菜单“文件”|“新建”→菜单 →点击新建
2.创建子菜单 制定菜单项任务:命令、填充名称、子菜单、过程
10.2.1 创建下拉菜单外观
词,少用名词。 (10)有些下列菜单组暂时不便定义,也要在规划时定
下它的位置,并在“系统分析”中记录下来,以便随 后检查程序功能。 (11)在帮助内容中可为菜单中的命令设计相应的功能 与操作说明文本。
规划与设计菜单
创建菜单的步骤
规划与设计
创建菜单与 子菜单
指定任务
生成菜单程序
菜单系统 菜单标题 菜单栏
(2)尽可能地为下拉菜单组和菜单的命令设置访问键或 快捷键。例如,Alt+F可以作为“文件”下拉菜单的 访问键。
(3)给每一个分组菜单定义一个有意义的菜单标题,以 便于操作时识别其分组功能。
VB第6章 《菜单和工具栏设计》总结

VB第6章《菜单和工具栏设计》总结一、菜单控件(Menu):1、功能:用于显示应用程序的自定义菜单。
2、组成:命令、子菜单、分隔符条。
3、创建:“工具”菜单——“菜单编辑器”4、常用属性:(1)Caption:菜单项标题对应菜单编辑器中“标题”文本框。
访问键字母前加“&”符号快速选中:顶级菜单:Alt+字母键子菜单:单击字母键(2)Checked:显示复选标记。
对应菜单编辑器中“复选”复选框。
(3)Enabled:有效性。
对应菜单编辑器中“有效”复选框。
(4)Index:当菜单项组成控件数组时,用于区分数组内的各个菜单控件。
对应菜单编辑器中“索引”文本框。
(5)Name:指定菜单控件的名称。
对应菜单编辑器中“名称”文本框。
(6)Shortcut:指定菜单项的快捷键。
对应菜单编辑器中“快捷键”文本框。
(7)Visible:决定菜单项是否可见。
对应菜单编辑器中“可见”复选框。
(8)WindowList:决定菜单控件是否维护当前MDI子窗口的列表。
对应菜单编辑器中“显示窗口列表”复选框。
5、事件:只有一个单击事件,即Click事件。
二、RichTextBox控件:1、功能:创建能输入和编辑大量文本的、能设置字符格式、段落格式的文本框。
2、打开、保存的文件格式:RTF格式和ASCII文本格式两种。
3、常用属性:(1)FileName:返回或设置装入RichTextBox控件的文件名。
只能指定文本文件或有效的.rtf文件名。
(2)MaxLength:最大字符数。
(3)MultiLine:是否显示和接受多行文本。
(4)RightMargin:文本右边距。
(5)ScrollBars:自带水平或垂直滚动条。
0——无1——水平滚动条2——垂直滚动条3——两者都有(6)SelAlignment:段落对齐方式。
设计时无效。
0——左对齐1——右对齐2——居中对齐(7)选定文本的字体样式:设计时无效。
SelBold:粗体;SelItalic:斜体;SelStrikethru:删除线;SelUnderline:下划线。
VFP程序设计简明教程 鲁俊生第8章 设计完美的报表和标签

第8章 设计完美的报表和标签
图8-11 添加带区后的“报表设计器”
第8章 设计完美的报表和标签 1. 报表的布局类型 创建报表前,应确定该报表套用的布局格式。报 表的布局一般分为以下几种: (1) 行报表:每列是一条记录,每条记录的字段在 报表页面上按照垂直方向放置; (2) 列报表:每行是一条记录,每条记录的字段在 报表页面上按照水平方向放置; (3) 一对多报表:用于一条记录或一对多关系;
利用控件的位置、大小等的不同可以直接影响报表的
外观和质量。打开“显示”菜单下的“报表控件工具 栏”窗口,就可以看到报表控件按钮。这些控件按钮
的外观和基本功能见表8.2所示。
第8章 设计完美的报表和标签 表8.2 报表控件及其功能
第8章 设计完美的报表和标签 在报表中插入控件时,经常要进行控件的移动、选取等 操作,下面是几种常用的操作: (1) 移动一个控件。选中控件后直接把它拖动到“报表” 带区中新的位置上。注意,控件在报表内移动的位置移动不 一定是连续的,只要在拖动控件时按下Ctrl键就可以实现位置 连续移动。 (2) 同时选中多个控件。通过鼠标拖动画出选择框可同时 选中多个控件,这些控件将作为一组,被同时移动、复制或 删除。
图8-12 打开“报表设计器”
第8章 设计完美的报表和标签 (1) 调整标题、页标头组标头等:以左标尺为标
准,用鼠标将带区的分隔条上下拖动到适当的高度。
报表中可出现多个不同的带区,用来放置不同的数据。
(2) 调整页标头的字段控件位置,在单击页标头 带区的某个字段控件后,该对象周围出现选中标记, 用鼠标可将它直接拖动到新的位置,如图8-13所示。
直观地设置数据环境,并将其与报表一起保存。数据 环境中的表及其字段都是对象,可以像引用其他对象 那样引用表对象和字段对象。下面介绍向数据环境中 添加表或视图的方法。 选择菜单项“显示”/“数据环境”,打开“数据环 境”对话框,如图8-15所示。
VF 第8章

第8章 菜单与工具栏的建立与操作
第8章 菜单与工具栏的建立与操作
• Visual FoxPro支持两种类型的菜单:条形菜 单和弹出式菜单。 • 条形菜单就是主菜单,每一个条形菜单都 有一个内部名字和一组菜单选项,每个菜 单选项都有一个标题和内部名字。 • 弹出式菜单是主菜单项的子菜单,每个弹 出式菜单也有一个内部名字和一组菜单选 项。
1.常规选项
第8章 菜单与工具栏的建立与操作
• (1)过程。为第一级菜单指定一个过程代码。若第一级菜单中 有些菜单项未设置任何命令或过程,则可在该过程编辑框中为 这些菜单写入公共的过程。也可选定“编辑”按钮,然后在打 开的编辑窗口中写入过程代码。 • (2)位置。位置区有4个单选按钮,用于指明正在定义的菜单 与当前系统菜单的关系。 • ①替换:为缺省按钮,表示以用户正在定义的菜单替换系统菜 单。 • ②追加:将用户正在定义的菜单添加到当前系统菜单原有内容 的后面。 • ③在…之前:将用户正在定义的菜单插入到当前系统菜单某个 弹出式菜单之前,选定该按钮后其右侧会出现一个用来指定菜 单项的组合框。 • ④在…之后:将用户正在定义的菜单插入到当前系统菜单某个 弹出式菜单之后。
第8章 菜单与工具栏的建立与操作
• 3.生成菜单程序 • 菜单定义文件存放着菜单的各项定义,但其本身是一个 表文件,并不能够运行,必须将其转换成可执行的菜单 程序文件(.mpr)。在菜单设计器环境下,选择系统菜 单中“菜单”中的“生成”命令,然后在“生成菜单” 对话框中指定菜单程序文件的名称和存放路径,最后单 击“生成”按钮。 • 4.运行菜单程序 • 执行DO命令可以运行菜单程序,但菜单程序扩展 名.mpr不可缺少。运行菜单程序时,系统会自动编 译.mpr文件,产生用于运行的.mpx文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.课后练习: 练习1:在理解掌握本课课业设计任务一、二的基础上,选择 其中一个课业设计任务,再次独立完成该程序的设计编写任务。 练习2:改写“弹出式编辑菜单设计”程序,把弹出式菜单改 为普通菜单,程序设计要求改写后的程序同样具有简单的编辑 功能。 练习3:用VB编写一个调用Office小助手的程序,具体界面设 计如下图所示。
清 华 版
第27课
菜单程序设计
任务1:制作“简单文本编辑器”程序,学习菜单程序 设计
1.任务分析 a. 本任务需要用到 1 个 richtextBox1 控件、 1 个 CommonDialog 控件和8个Menu控件; b.程序设计要求,当“简单文本编辑器”程序运行加载时, 程序能在richtextBox1控件文本框内输入文字,点击菜单中 基本命令能够执行相关简单文本编辑功能;
Save.Enabled = True Exit Sub Err_Handle: MsgBox Err.Description Exit Sub End Sub „保存文件 Private Sub Save_Click() On Error GoTo Err_Handle „假如程序运行出错,程序跳转 With CmnDialog1 DialogTitle = “保存” ‘设置保存窗口标题 Filter = "RTF格式文件(*.rtf)|*.rtf" DefaultExt = "rtf" .Flags = cdlOFNHideReadOnly Or cdlOFNOverwritePrompt End With CmnDialog1.ShowSave „显示保存对话框 newfilename = CmnDialog1.FileName If Len(newfilename) Then „保存信息
第28课
弹出式菜单设计
任务1:制作“设置窗体颜色”程序,学习菜单程序设计 1.任务分析 a.本任务需要用到6个Menu控件; b.程序设计要求,当“设置窗体颜色”程序运行加载时,单 击鼠标右键,程序将弹出一个颜色设置菜单,用光标选择 菜单中的任意一个Menu控件,点击鼠标左键,窗体颜色将 改变为所选择的颜色;
b.代码分析 ‘请在空白点窗体处右击 Private Sub Form_Load() Clipboard.Clear End Sub
„清空剪贴板
„如果单击鼠标右键弹出菜单 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then Form1.PopupMenu Form1.Menu_Edit End If End Sub Private Sub Menu_Edit_Copy_Click()„把当前选中数据复制到剪贴板上 Clipboard.SetText Form1.Text1.SelText, 1 End Sub
3.设置控件属性
4.编写程序代码
a.程序分析 课堂任务“简单文本编辑器”程序代码设计较为简单, 都为Click事件。程序分别对6个Menu控件设计编写代码, 分别是“打开”、“保存”、“退出”、“粘贴”、“剪 切”、“复制”。代码较为简单。
b.代码分析 ‘打开文件 Private Sub new_Click() On Error GoTo Err_Handle „假如程序运行出错,程序跳转 With CmnDialog1 „启用CommonDialog控件 MaxFileSize = 100 „设置最大被打开的文件名的尺寸 CancelError = True „当选取“取消”按钮时出错 Filter = "文件类型(*.rtf)|*.rtf" „设置打开文件类型 DialogTitle = "请选择一个RTF格式文件"„设置对话窗口标题 InitDir = "C:\" „设置需要打开文件默认盘符路径 Flags = cdlOFNFileMustExist Or cdlOFNReadOnly End With CmnDialog1.ShowOpen „显示“打开”对话框 oldfilename = CmnDialog1.FileName RichTextBox1.Text = “” „清空文本框 If (Len(oldfilename) > 0) Then „打开文件 RichTextBox1.LoadFile (oldfilename) End If
„将RichTextBox1选中内容复制至剪贴板中
Private Sub cut_Click() Clipboard.SetText RichTextBox1.SelRTF RichTextBox1.SelRTF = vbNullString End Sub Private Sub paste_Click()
Private Sub Menu_Edit_Cut_Click() Clipboard.SetText Form1.Text1.SelText, 1 Form1.Text1.SelText = "" End Sub
„删除选中内容
Private Sub Menu_Edit_Del_Click() „通过设置SelText属性删除选中内容 Form1.Text1.SelText = "" End Sub Private Sub Menu_Edit_Paste_Click() „实现粘贴功能 i = Form1.Text1.SelStart str1 = Mid(Form1.Text1.Text, 1, i) str2 = Mid(Form1.Text1.Text, _ Form1.Text1.SelStart + 1, _ Len(Form1.Text1) - Len(str1)) Form1.Text1 = str1 & Clipboard.GetText & str2 „把剪贴板上的数据粘贴到当前位置处 End Sub
第29课
常用工具栏的制作
任务1:制作“字体工具栏”程序,学习常用工具栏的制作
1.任务分析 a. 本任务需要用到 1 个 ImageList 控件 1 个 Toolbar 控件和 1 个 TextBox控件; b.程序设计要求,当“制作字体工具栏”程序运行加载时, 单击字体工具栏中的任意一个字体工具按钮,文本框中的 内容将做相应修改;
练习1:学习模仿其中一个任务,然后自己设计编写另一个任务程序,把所 设计的结果与课本中所讲述的内容进行比较,从而进一步学习本课 中的相关知识点。 练习2:编写一个“简单文本编辑器”,程序设计要求,在 本课堂任务的基础 上增加一个帮助菜单,在此菜单下增加Windows帮助子菜单和显示 系统时间二级子菜单。
2.设计程序界面 用设置课堂任务1“设置窗体颜色”弹出式菜单相同的方式 设置“弹出式编辑菜单设计”程序弹出式编辑菜单,本程序界 面需要添加1个TextBox控件和6个Menu控件,界面设计较为简 单。具体设计好的“设置窗体颜色”程序界面如图所示。
3.设置控件属性
4.编写程序代码
a.程序分析 课堂任务2“弹出式编辑菜单设计”程序代码设计较为简单, 程序运行加载时,清空文本框内容,并显示加载所设置内容, 然后选中文本框中的文字,点击鼠标右键,弹出编辑菜单,选 择任意一种编辑功能,以实现相关文本编辑。同样,程序需要 完成两个动作,首先点击鼠标右键程序产生PopupMenu方法, 弹出菜单;另一个动作点击任意一种编辑功能,程序将实现相 关编辑功能。
b.代码分析 ‘调用产生PopupMeu方法 Private Sub Form_MouseDown(Button As Integer, X As Single, Y As Single) If Button = 2 Then '右键 Form1.PopupMenu Form1.color End If End Sub „选用任意一种颜色 Private Sub blue_Click() Form1.BackColor = RGB(0, 0, 255) End Sub Private Sub gray_Click() Form1.BackColor = RGB(128, 128, 128) End Sub Private Sub green_Click() Form1.BackColor = RGB(0, 255, 0) End Sub
Shift As Integer,
Байду номын сангаас
„蓝色 „灰色 „绿色
Private Sub puple_Click() Form1.BackColor = RGB(128, 0, 128) End Sub Private Sub red_Click() Form1.BackColor = RGB(255, 0, 0) End Sub Private Sub white_Click() Form1.BackColor = RGB(255, 255, 255) End Sub
oldfilename = newfilename RichTextBox1.SaveFile (oldfilename) End If Exit Sub Err_Handle: MsgBox Err.Description Exit Sub End Sub „退出窗体 Private Sub quit_Click() End End Sub Private Sub copy_Click() Clipboard.SetText RichTextBox1.SelRTF End Sub „复制菜单的单击事件
2.设计程序界面 此程序的界面需要添加1个richtextBox1控件、1个 CommonDialog控件和8个Menu控件,“简单文本编辑器”程 序界面设计与以往程序设计界面程序界面设计有较大的不同。 8个Menu控件分为两组,一组为文件菜单,包括打开、保存和 退出,通过CommonDialog控件在个richtextBox1控件文本编辑 框内实现相关功能;另一组为编辑菜单,包括复制、剪切和粘 贴,通过richtextBox1控件自身属性值实现相关功能。