第8章 菜单及窗体的设计 8.1 菜单 8.2 对话框 8.3 工具栏 8.4 状态栏 8.5 多重窗体与MDI窗体 8.6 键盘和鼠标.

Slides:



Advertisements
Similar presentations
Visual Basic 程序设计教程.
Advertisements

第八章 界面设计 全 国 高 等 医 药 院 校 药 学 类 规 划 教 材 计算机程序设计(第二版)
第二章 VB的编程机制 【授课时间】第3周,第2次课 【授课题目】 2.1 面向对象程序设计概述 2.2 VB中的对象
项目2 字符格式和段落编排 2017年3月7日6时54分.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
第6章 用户交互:使用鼠标、键盘和菜单 Visual Basic 程序设计教程.
走进Word 认识Word2010的工作界面 计算机专业 赵德玲.
Visual Basic程序设计.
Visual Basic 程 序 设 计.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
Visual Basic程序设计 第八章 过程 -子程序和函数
國立台灣大學電機工程研究所 Visual Basic 程式設計 國立台灣大學電機工程研究所.
Visual Basic程序设计基础 计算机科学学院.
第十三章 檔案.
走进编程 程序的顺序结构(二).
辅导课程六.
第6章 常用控件 郭清溥.
湖北职院计科系.
项目四 Windows应用程序窗口设计 任务列表: 1、在图片查看器上添加菜单和工具栏 2、多文档窗体的设计 3、对话框的应用
其他常用的 第 10 章 语句及控件.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Visual C# 2005程序设计 第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
VB程序设计语言 主讲教师:王 杨.
Visual Basic程序设计.
高等学校计算机基础教育教材 Visual Basic 6.0 程序设计 上海中医药大学现代教育技术中心 计算机教学部 1.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
第10章 高级用户界面设计 10.1 菜单设计 10.2 通用对话框 10.3 图像列表框控件 10.4 树形视图控件
Windows 7 的系统设置.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
第11章 实用扩展控件 11.1 RichTextBox控件 11.2 TreeView和ListView控件 11.3 其他扩展控件 结束.
第10章 对 话 框 知识要点 学习任务 消息对话框的功能、用法及使用技巧 输入对话框的功能、用法及使用技巧
VB程序设计语言 主讲教师:王 杨.
VB语言程序设计教程.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
ASP New and other UIs: Medical Videos Searchasaurus
直接扫描保存成TIF格式, 其他图片格式用Windows XP自带的 Windows图片与传真查看器打开
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
第9章 创建与使用菜单、工具栏和状态栏 大多数基于Windows的应用程序均使用菜单、工具 栏和状态栏。其中,用户通过菜单及工具栏实现 各种期望地操作;使用状态栏获得系统以及软件 的状态信息。本章将带领读者学习如何创建与使 用这些控件。
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
第10章 界面设计 10.1 对话框控件 10.2 菜单程序设计 10.3 多重窗体和多文档界面 10.4 工具条和状态栏
项目二:HTML语言基础.
第4章 Excel电子表格制作软件 4.4 函数(一).
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
iSIGHT 基本培训 使用 Excel的栅栏问题
3.16 枚举算法及其程序实现 ——数组的作用.
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Visual Basic程序设计 第13章 访问数据库
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
VRP教程 2011.
Print方法和函数 2019/5/19.
第八章: 輸入裝置-鍵盤與滑鼠.
Python 环境搭建 基于Anaconda和VSCode.
Polarization of electro- magnetic wave after reflection
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
YOUR SUBTITLE GOES HERE
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
顺序结构程序设计 ——关于“字符串”和数值.
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
Presentation transcript:

第8章 菜单及窗体的设计 8.1 菜单 8.2 对话框 8.3 工具栏 8.4 状态栏 8.5 多重窗体与MDI窗体 8.6 键盘和鼠标

8.1 菜单 菜单有两种:下拉式菜单和弹出式菜单。 下拉式菜单的组成结构: 菜单中的所有菜单项都与命令按钮相似,有属性、方法和事件 菜单名 子菜单项 分隔条 快捷键 热键 菜单中的所有菜单项都与命令按钮相似,有属性、方法和事件 为菜单项编写程序就是编写Click事件过程

8.1.1 菜单编辑器的使用 可以使用以下四种方式进入菜单编辑器: (1)在窗体环境下单击菜单命令“工具|菜单编辑器” (2)使用热键Ctrl+E。 (3)单击常用工具栏中的“菜单编辑器”按钮。 (4)在要建立菜单的窗体上单击鼠标右键,在弹出的快捷菜单中选择“菜单编辑器”命令。

8.1.1 菜单编辑器的使用 标题(Caption)----应用程序菜单上出现的菜单名称 名称(Name)----用于在程序中引用该菜单项 命令名称 Name 必须填写 快捷键 Shortcut 菜单项是否可操作 菜单项是否可见 标题(Caption)----应用程序菜单上出现的菜单名称 名称(Name)----用于在程序中引用该菜单项 分隔菜单项:在“标题”中输入“-”(减号)

热键与快捷键 可通过键盘来访问菜单项 热键 使用Alt键和菜单项标题中的一个字符打开菜单 在字符前加一个&符号构成热键 【举例】在“标题”中输入“文件(&F)”,则菜单显示“文件(F)”,F为热键 快捷键 与热键类似,只是它不是用来打开菜单,而是直接执行相应菜单项的操作 在菜单编辑器中打开快捷键下拉式列表框设置 本章目录

8.1.2 下拉式菜单 例8.1 仿照Windows附件中的“记事本”,创建下拉式“文件”菜单,如图8.3所示。 图8.3 例8.1下拉式菜单窗体

8.1.3 弹出式菜单 用户在某个对象上单击右键所弹出的菜单,显示位置取决于单击鼠标时的位置; 设计过程与普通菜单相同,需要在“菜单编辑器”内不选中“可见复选框” 显示弹出式菜单的方法: [对象].PopupMenu 菜单名[,标志,x, y] x, y是快捷菜单显示的位置 标志,表示弹出的位置和触发的键 0---弹出快捷菜单在鼠标右侧 4---弹出快捷菜单在鼠标中间 8---弹出菜单在鼠标左侧 使用MouseDown事件弹出菜单 Button=1(单击鼠标左键) Button=2(单击鼠标右键) Sub Text1_MouseDown(Button As Interger) If Button = 2 Then PopupMenu EditMenu End Sub

8.1.3 弹出式菜单 例8.2 设计一个如图8.5所示的窗体,窗体上有4个标签、2个文本框以及菜单。2个文本框用于输入数据,Label4标签用于显示运算结果;“加减运算”菜单能够完成加减运算以及清除功能;弹出式菜单“乘除运算”能够完成乘除运算。 图8.5 例8.2运行效果图

8.2 对话框 预定义对话框 自定义对话框 通用对话框 可以调用函数直接显示的系统定义对话框; InputBox()函数和MsgBox()函数; 自定义对话框 用户根据应用程序的需要自行定义的对话框; 通用对话框 打开、另存为、颜色、字体、打印、帮助

通用对话框控件(CommonDialog) 利用通用对话框控件可在窗体上创建通用对话框 通用对话框不是标准控件,是一种ActiveX控件 工程|部件|控件选项卡|Microsoft Common Dialog Control 6.0 通用对话框在运行时不显示,直到用Action属性或Show方法激活 通用对话框仅用于应用程序与用户之间进行信息交互,是输入输出的界面 不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作 如果想要实现这些功能,需要编程实现 本章目录

通用对话框的基本属性和方法 对话框的类型 Action属性值 方法 表8.5 CancelError属性 打开对话框 1 另存为对话框 2 颜色对话框 3 字体对话框 4 打印机对话框 5 帮助对话框 6 ………… ShowOpen ………… ShowSave ………… ShowColor ………… ShowFont ………… ShowPrinter ………… ShowHelp 表8.5 CancelError属性 True:单击取消按钮,Err.Number设置为32755(cdCancel) False:单击取消按钮,没有错误警告 属性页对话框 【举例】显示“打开”对话框 CommonDialog1.Action=1 CommonDialog1.ShowOpen

8.2.1 “打开”对话框 由 ShowOpen方法来显示 重要属性 : (1) FileName 文件名称,包含路径 8.2.1 “打开”对话框 由 ShowOpen方法来显示 重要属性 : (1) FileName 文件名称,包含路径 (2) FileTitle 文件标题,不包含路径 (3) Filter 过滤器,确定文件列表框中所显示文件的类型 显示文本文件和所有文件:Text Files|*.txt|所有文件|*.* (4) FilterIndex 过滤器索引,文件列表中指定某类型文件 (5) InitDir 初始化路径,指定“打开”对话框中的初始目录

【举例】通过打开对话框,选择一个BMP位图文件,在图片框中显示该图片。 FileName=“*.Bmp” .InitDir=“C:\Windows” .Filter=“Pictures(*.Bmp)|*.Bmp|All Files(*.*)|*.*” .FilterIndex=1 CommonDialog1. DialogTitle=“浏览图片” Private Sub Command1_Click() CommonDialog1.ShowOpen Picture1.Picture = LoadPicture(CommonDialog1.FileName) End Sub 本章目录

8.2.2 “另存为”对话框 与打开文件对话框的属性基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名 8.2.2 “另存为”对话框 Commondialog1.Action=2或者Commondialog1.ShowSave 与打开文件对话框的属性基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名 “另存为”对话框并不能真正地保存文件,保存文件的操作需要单独编程来完成。 【举例】 Sub Command2_Click () CommonDialog1.FileName=“Default.Txt” CommonDialog1.DefaultExt=“Txt” CommonDialog1.Action=2 Open CommonDialog1.filename For Output As #1 Print #1, Text1.Text '保存文件 Close #1 ' 关闭文件 End Sub 本章目录

8.2.3 “颜色”对话框 重要属性Color,它返回或设置选定的颜色 【举例】 Sub Command3_Click () 8.2.3 “颜色”对话框 Commondialog1Action=3或者Commondialog1.ShowColor 重要属性Color,它返回或设置选定的颜色 【举例】 Sub Command3_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 设置文件框前景颜色 本章目录

8.2.4 字体对话框 Font 获取选择的字体 Color 选定的颜色 设置Action=4或者Commondialog1.ShowFont 在选择字体前,必须先设置flags属性,该属性通知commondialog控件是否显示屏幕字体、打印机字体或者两者皆有之。 Flags属性的设置 Font 获取选择的字体 Color 选定的颜色 Flags值 对应的功能 1 显示屏幕字体 2 显示打印机字体 3 显示打印机字体和屏幕字体 256 在“字体”对话框显示删除线和下划线复选框以及颜色组合框

Private Sub cmdFont_Click() CommonDialog1.Flags = 1+256 CommonDialog1.ShowFont Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline End Sub

8.2.5 打印对话框(略) 主要属性: Copies:打印份数 FromPage:打印起始页号 ToPage:打印终止页号 8.2.5 打印对话框(略) CommonDialog1.Action=5或者CommonDialog1.ShowPrinter 主要属性: Copies:打印份数 FromPage:打印起始页号 ToPage:打印终止页号 Max属性和Min属性 用来限制FromPage和ToPage的范围。 Min指定所允许的起始页码,Max指定所允许的最后页面 Falgs属性 该属性用来设置默认打印页面范围

8.3 工具栏(略) ToolBar控件和ImageList控件通常绑定使用,使用前必须先添加到工具箱中; 执行菜单命令“工具|部件”,在“部件”对话框中选中“Microsoft Windows Common Controls 6.0”,可将其添加到工具箱中; 创建工具栏的步骤如下: (1) 在ImageList控件中添加所需的图像。 (2) 在ToolBar控件中创建Button对象。并将ToolBar控件与ImageList控件建立关联。 (3) 在ButtonClick事件中使用Select Case语句对每个按钮进行相应的编程。 ToolBar控件常用的事件有: ButtonClick和ButtonMenuClick

例8.7 创建如图8.16所示的窗体,窗体上有一个工具栏,工具栏按钮分三组:第一组为新建、打开、存盘;第二组为剪切、复制、粘贴;第三组为加粗、倾斜、下划线。然后编写相应的事件过程代码。 图8.16 例8.7设计的工具栏效果图

8.4 状态栏(略) 状态栏(StatusBar)控件与工具栏(ToolBar)控件同属于一个.ocx文件,因此只要添加了工具栏控件,就可以在工具箱中找到状态栏控件。 执行菜单命令“工具|部件”,在“部件”对话框中选中“Microsoft Windows Common Controls 6.0”,即可将其添加到工具箱中。 使用StatusBar控件设计状态栏的基本步骤如下: (1)在窗体上建立一个状态栏。 (2)设置StatusBar控件的“属性页”对话框中的各项属性。 (3)编写代码。

例8.8 在例8.7的基础上在窗体上添加一个文本框,让其MultiLine属性值为True,ScrollBar属性值为2。在窗体的底部创建如图8.22所示的状态栏。状态栏共设置了6个窗格,它们分别显示光标位置、操作员名称、大小写控制键、系统时间。

8.5 多重窗体与MDI窗体 8.5.1 多重窗体 一个应用程序中有多个并列的普通窗体,每个窗体有自己的界面和代码,完成不同的功能 1. 添加窗体 工程|添加窗体 每个窗体有独立的Frm文件 同一工程不能有相同名称的窗体 2. 设置启动对象 系统默认缺省窗体名为Form1的窗体为开始窗体 工程|属性 本章目录

3. 窗体加载和卸载 ①加载窗体: Load 窗体名 ②卸载窗体: UnLoad 窗体名 ③显示窗体: [窗体名].Show [窗体模式] 首次用Load语句将窗体调入内存时,依次触发Initialize和Load事件 ②卸载窗体: UnLoad 窗体名 执行UnLoad语句后,将指定的窗体从内存中删除。 将窗体从内存中卸载时,触发Unload事件 UnLoad的一种常见用法是UnLoad Me,其含义是关闭窗体自己。 关键字Me代表UnLoad Me语句所在的窗体。 ③显示窗体: [窗体名].Show [窗体模式] 如果执行Show方法时,窗体不在内存中,则Show方法自动把窗体装入内存,然后再显示出来。 “窗体模式” 为0时,窗体为“非模式”方式;当取值为1时,窗体为“模式”方式。 ④隐藏窗体: [窗体名].Hide 该方法用来将指定的窗体暂时隐藏起来,但并没有从内存中删除。 “窗体名”缺省时默认为是当前窗体。

4. 不同窗体间数据的访问 (1)直接访问另一个窗体上的控件数据 另一个窗体名.控件名.属性 (2)访问另一个窗体中的全局变量 Text1 = Val(Form2.Text1) + Val(Form2.Text2) (2)访问另一个窗体中的全局变量 另一个窗体名.全局变量名 (3)在标准模块定义公共变量,实现相互访问 如:Public X As String 【说明】 要获得不同窗体间变量的值,该变量必须在窗体通用段声明为全局(Public)变量。局部变量不能在窗体间读取。如果全局变量的声明是在标准模块中,则可以省略“窗体名”。 本章目录

8.5.2 MDI窗体 1.创建和设计MDI窗体 2.创建和设计MDI子窗体 3.设置MDI窗体为启动窗体 先创建一个新的普通窗体,然后将其MDIChild属性设置为True即可。 3.设置MDI窗体为启动窗体 执行菜单命令“工程|工程1属性”,弹出“工程属性”对话框,从“启动对象”下拉列表框中选择MDI窗体名称,然后单击“确定”按钮。

8.5.2 MDI窗体 例8.10 创建一个具有多文档界面的简易文本编辑器,运行效果图之一如图8.26所示。 图8.26 例8.10运行效果图

8.6键盘和鼠标--8.6.1 键盘(略) 键盘上的键大致分为两大类 键盘事件 能够产生ASCII码的键,如大小写字母键、数字键、Enter、Backspace、Tab键等; 不能产生ASCII码的控制键,如F1~F12、方向键等。 键盘事件 (1)KeyPress事件:用户按下并且释放一个会产生ASCII码的键时被触发 Sub Form_KeyPress(KeyAscii As Integer) (2)KeyUp事件:用户释放键盘上的任意一个键时被触发。 (3)KeyDown事件:用户按下键盘上的任意一个键时被触发。 Sub Form-KeyDown(KeyCode As Integer,Shift As Integer) 参数KeyCode:按键的扫描代码 同一字符大小写,其keycode参数值与大写相同 上档和下档符号键,其keycode参数值与下档相同 小键盘上的数字键与大键盘上的数字键的keycode码不相同

8.6键盘和鼠标--8.6.1 键盘(略) 键盘事件过程的参数 Shift=2 按下Ctrl键 Shift=4 按下Alt键 Shift=1 按下Shift键 Shift=2 按下Ctrl键 Shift=4 按下Alt键

8.6键盘和鼠标--8.6.1 键盘(略) 例8.12 编写一个程序,模仿Windows操作,当同时按下Alt键和F4键时关闭当前窗口。为了保证窗体优先接收到键值,应先将窗体的KeyPreview属性值设置为True。 Private Sub Form_KeyDown (KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF4 And Shift = 4 Then Unload Me End If End Sub

8.6键盘和鼠标-- 8.6.2 鼠标(略) 鼠标事件 事件过程 Click 、DblClick、MouseDown、 MouseMove 、 MouseUp 事件过程 Sub Form-MouseDown(Button as Integer,Shift As Integer, X As Single,Y As Single) 鼠标事件过程的参数 (1)Button=1 鼠标左键 Button=2 鼠标右键 Button=4 鼠标中键 (2)Shift=1 按下Shift键 Shift=2 按下Ctrl键 Shift=4 按下Alt键 (3)x,Y 代表当前鼠标的位置

8.6键盘和鼠标-- 8.6.2 鼠标(略) 例8.14 在窗体上创建两个文本框,程序运行时,在窗体上按下鼠标左键,分别显示当前鼠标指针X坐标值和Y坐标值。 Private Sub Form_MouseMove(Button As Integer, Shift As Integer, - X As Single, Y As Single) text1.Text = X text2.Text = Y End Sub 图8.31 例8.14运行效果图