界 面 设 计
Download
1 / 37

? ? ? ? - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

界 面 设 计. 第 8 章. 本章要点: Visual Basic 中的菜单设计 Visual Basic 中的 对话框设计. 8.1 Visual Basic 中的菜单设计. Windows 环境下几乎所有的应用软件都通过菜单实现各种操作。菜单将应用程序的各种操作分组显示在界面上,用户可以方便地从菜单中选择执行各种功能。. 两种基本菜单类型: 下拉式菜单 弹出式菜单. 子 菜单. 主菜单标题. 主菜单栏. 子 菜单. 菜单命令. 分隔条. 1. 下拉式菜单的结构. 8.1.1 下拉式菜单. 访问键. 快捷键. 顶级菜单.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '? ? ? ?' - natane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
3348362

界 面 设 计

第8章

本章要点:

  • Visual Basic中的菜单设计

  • Visual Basic中的对话框设计


8 1 visual basic
8.1 Visual Basic中的菜单设计

  • Windows环境下几乎所有的应用软件都通过菜单实现各种操作。菜单将应用程序的各种操作分组显示在界面上,用户可以方便地从菜单中选择执行各种功能。

  • 两种基本菜单类型:

  • 下拉式菜单

  • 弹出式菜单


3348362

菜单

主菜单标题

主菜单栏

菜单

菜单命令

分隔条

1. 下拉式菜单的结构

8.1.1 下拉式菜单

访问键

快捷键

顶级菜单


3348362

  • 2. 菜单编辑器

  • 菜单项: 看成控件,具有其属性、事件、方法。

  • 菜单项也称为菜单控件。

  • 菜单设计: 通过“菜单编辑器”完成。

    • 首先使窗体成为当前窗体

    • 使用以下方法打开菜单编辑器:

      • 执行“工具”菜单下的“菜单编辑器”命令

      • 单击标准工具栏的“菜单编辑器”按钮

      • 从窗体快捷菜单中选择“菜单编辑器”命令

    • 菜单编辑器结构: 属性区、编辑区、菜单列表区


3348362

Caption

属性区

Name

Index

Shortcut

编辑区

菜单列表区

Checked

Enabled

Visible

WindowList(MDI)

HelpContextID

NegotiatePosition

注: 标题框中键入“-”和“&”符号的作用。

不能给顶级菜单项加快捷键。


3348362
2.下拉式菜单的设计

  • 例8.1:设计一个可以改变文本框中文字的字体及颜色的菜单,字体有黑体、宋体、楷体,颜色有红色、黄色、蓝色。


3348362
进入菜单编辑器,按下表输入菜单项各项数据。进入菜单编辑器,按下表输入菜单项各项数据。


3348362


3348362


8 1 2
8.1.2 完成菜单的设计后,在窗体上画一个文本框,用于输入要设置字体和颜色的文字,然后在窗体上单击每一个菜单项,输入相应的弹出式菜单

  • 弹出式菜单:上下文菜单、快捷菜单、右键菜单

  • 为某对象设计弹出式菜单的步骤:

  • 1) 在菜单编辑器中设计各菜单项,然后将顶级菜单设置为不可见。

  • 2) 在对象的MouseDown事件过程中编写代码,用以下的PopupMenu方法显示弹出式菜单:

  • [<窗体名>.]PopupMenu <菜单名>

  • ,flags[,x[,y[,boldcommand]]]]

    • 功能: 在当前鼠标位置或指定的坐标位置显示弹出式菜单。


3348362

  • 参数: 完成菜单的设计后,在窗体上画一个文本框,用于输入要设置字体和颜色的文字,然后在窗体上单击每一个菜单项,输入相应的

    • <窗体名>:指菜单所在的位置,如果省略,则默认为是当前窗体。

    • <菜单名>:指在菜单编辑器中设计的菜单项(至少有一个子菜单)的名称。

    • Flags:可选项,可以是一个数值或常量,用于指定弹出式菜单的位置和行为,取值见P199表10-3和表10-4。如果要同时指定位置和行为时,则将两个参数值用Or连接,如:

      4 Or 2

    • x、y:指定显示弹出式菜单的x坐标和y坐标。省略时为鼠标坐标。

    • boldcommand:指定弹出式菜单中要显示为黑体的菜单控件的名称。如果该省略参数,则弹出式菜单中没有以黑体字出现的菜单项。


3348362

  • 设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。

  • 操作步骤:

  • (1)进入菜单编辑器,输入顶层菜单,标题设定为“字体”,名称为“zt”。其实该标题和名称可任意设定,因为它在快捷菜单弹出时不显示。

  • (2)在菜单编辑器中将“字体”菜单标题的“可见”框中的“√”取消(即不选中)。

  • (3)单击“下一个”命令按钮,标题输入“黑体”,名称为“ht”,单击右箭头按钮,将“黑体”菜单项设置为“字体”菜单的下一级菜单。

  • 参照步骤3完成“宋体”和“楷体”菜单项的设置。

  • (4)在窗体上画一个文本框,用于输入要设置字体的文字。

  • (5)进入代码窗口,输入下面设置字体的代码。


3348362

  • Private Sub ht_Click()设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。

  • Text1.Font = "黑体"

  • End Sub

  • Private Sub kt_Click()

  • Text1.Font = "楷体_Gb2312"

  • End Sub

  • Private Sub st_Click()

  • Text1.Font = "宋体"

  • End Sub

  • (6)由于在窗体上单击鼠标右键时才会弹出快捷菜单,所以需要在窗体的MouseUp事件里编写对应的代码。进入代码窗口,输入以下代码:

  • Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

  • If Button = 2 Then '若单击鼠标右键

  • PopupMenu zt '弹出字体快捷菜单

  • End If

  • End Sub


3348362
运行程序,单击鼠标右键,结果如图所示。设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。


8 2 visual basic
8.2 设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。Visual Basic中的对话框设计

  • 对话框: 特殊类型的窗体对象。

  • 作用: 是用户和应用程序交互的主要途径。

  • 建立方法:

    • 使用预定义对话框,即输入框、消息框。

    • 定义对话框。

    • 使用CommonDialog控件创建通用对话框。


8 2 1
8.2.1设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。概述

  • (1)预定义对话框:预定义对话框是系统已经设计好的对话框,它们可以通过程序执行具体的函数来被显示。在Visual Basic 6.0中,预定义对话框包含输入对话框(用InputBox函数来实现)和消息框(用MsgBox函数来实现)。

  • (2)自定义对话框:自定义对话框实际是一个用户自行设计的,用来完成用户和系统对话的窗体。

  • (3)通用对话框:通用对话框是一种控件,通过CommonDialog控件,利用它能够很容易地创建六种标准对话框:打开(Open),另存为(Save As),颜色(Color),字体(Font),打印机(Printer)和帮助(Help)对话框。


3348362
1 设计一个快捷菜单,其作用是改变文本框中的字体,包含“黑体”、“宋体”和“楷体”功能,右击窗体时弹出该快捷菜单。自定义对话框

  • 设计步骤 :

  • 1) 添加窗体: 工程添加窗体。

  • 2) 将窗体定义成对话框风格。

  • 如:不能移动、改变尺寸、最大或最小化

  • 例: BorderStyle设置为1—单边框,不能改变大小

  • ControlBox设置为False—删除控制菜单框

  • MaxButton设置为False—删除最大化按钮

  • MinButton设置为False—删除最小化按钮

  • 3) 在对话框上添加按钮,如“确定”与“取消”按钮。

  • 4) 在对话框上添加其它控件。

  • 5) 在适当的位置编写显示对话框的代码。


3348362

  • 两种显示方式: 模式对话框与无模式对话框

  • 显示模式对话框

  • 窗体名.Show vbModal 或 窗体名.Show 1

    例如: Form2.Show vbModal

  • 显示无模式对话框

  • 窗体名.Show vbModeless 或

  • 窗体名.Show 0 或 窗体名.Show

    例如: Form2.Show vbModeless

  • 为确保对话框可以随其父窗体的最小化而最小化,随其父窗体的关闭而关闭,需要在Show方法中定义父窗体。

    例如: Private Sub Command1_Click()

    Form2.Show vbModeless, Form1

    End Sub


3348362

6) 。编写实现对话框功能的的代码,如“确定”按钮和“取消”按钮的单击事件过程。不同的对话框所完成的功能不同,因此应根据实际要求编写代码

7) 编写从对话框退出的代码

例如: Unload Form2

或: Form2.Hide

Unload语句把对话框从内存中删除,该对话框本身以及它的控件都从内存中卸载。而Hide方法只是通过设置对话框的Visible属性为False将其从视窗中删除。该对话框以及它的控件仍留在内存中。


3348362

  • 在窗体上添加一个通用对话框和一个“字体”命令按钮,当单击“字体”按钮时,就会弹出一个“字体”的对话框,对窗体上文本框中的文字设置字体。在窗体上添加一个通用对话框和一个“字体”命令按钮,当单击“字体”按钮时,就会弹出一个“字体”的对话框,对窗体上文本框中的文字设置字体。

  • 操作步骤:

  • (1) 把CommonDialog控件添加到工具箱中。然后在窗体上添加该控件,其默认名称为CommonDialog1。

  • (2)在窗体上添加一个命令按钮Command1,其Caption属性为“字体”。

  • (3) 在窗体上添加一个文本框按钮Text1,用于输入文字。

  • (4)输入“字体”命令按钮Command1的Click事件过程代码:

  • Private Sub Command1_Click()

  • CommonDialog1.Flags = 1 '对话框列出系统支持的屏幕字体

  • CommonDialog1.ShowFont '显示“字体”对话框

  • Text1.Font = CommonDialog1.FontName '用户在“字体”对话框中设置的字体作为文本框的字体

  • End Sub


3348362


3348362
2 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。通用对话框控件

  • 使用通用对话框控件(CommonDialog)可以创建多种标准对话框。设计步骤如下:

  • 1) 添加: 工程部件选择

  • “Microsoft Common Dialog Controls 6.0”

  • 2) 在窗体的任意位置添加通用对话框控件。

  • 3) 设置通用对话框控件的“属性页”。

  • 4) 在代码中使用以下方法打开对话框 。

  • ShowOpen: 显示“打开文件”对话框

  • ShowSave: 显示“文件存储”对话框

  • ShowColor: 显示“颜色”对话框

  • ShowFont: 显示“字体”对话框

  • ShowPrinter: 显示“打印”对话框

  • ShowHelp: 显示“帮助”对话框


3348362

DialogTitle 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。

Flags

DefaultExt

FileName

MaxFileSize

InitDir

Filter

FilterIndex

CancelError

  • 8.2.2文件对话框

  • 属性页:


3348362

Image1运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。

Command1

CommonDialog1

例如:使用打开文件对话框,在运行时打开一幅图像。

在窗体Form1上放置一个图像控件、一个通用对话框控件、一个命令按钮。

设计界面:


3348362

其中, 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。CommonDialog1的属性页设置如下:

指文件名

All files|*.*|Bmp Files|*.bmp|Icon Files|*.ico


3348362

如果通过编写代码设置属性,可以在窗体的运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。Load事件过程中编写以下代码:

Private Sub Form_Load()

CommonDialog1.DialogTitle = "请选择图像文件"

CommonDialog1.InitDir = "C:\winnt"

CommonDialog1.FileName = "Greenstone.bmp"

CommonDialog1.Filter = "All Files|*.*|Bmp Files|*.bmp|Icon Files|*.ico"

CommonDialog1.CancelError = True

End Sub


3348362

运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。装入图像”按钮代码如下:

Private Sub Command1_Click()

CommonDialog1.ShowOpen

Image1.Picture = _

LoadPicture(CommonDialog1.FileName)

End Sub


3348362

  • 在对话框中单击“取消”按钮的处理:运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。

  • 不处理: 不设置“取消引发错误”

  • 处理: 设置“取消引发错误”,编写代码如下:

  • Private Sub Command1_Click()

  • On Error GoTo ErrHandler

  • CommonDialog1.ShowOpen

  • Image1.Picture = _

  • LoadPicture(CommonDialog1.FileName)

  • Exit Sub

  • ErrHandler:

  • MsgBox "打开文件错误"

  • Exit Sub

  • End Sub

打开图像

取消


3348362

8.2.3运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。其他对话框

颜色、字体对话框

属性页:

仅当标志属性设为8192时起作用

Min

Max

颜色: Color

标志: Flags

FontName

FontSize

通常:257、258、259


3348362
8.3 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。多窗体程序设计与环境应用

  • 简单Visual Basic应用程序通常只包括一个窗体,称为单窗体程序。在实际应用中,特别是对于较复杂的应用程序,单一窗体往往不能满足需要,必须通过多窗体( Multi-Form)来实现。在多窗体程序中,每个窗体可以有自己的界面和程序代码,完成不同的操作。

  • 1.Load语句

  • 2.Unload语句

  • 3.Show方法

  • 4.Hide方法


3348362
8.4 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。滚动条

  • 在工具箱中,有水平滚动条图标和垂直滚动条图标。

  • 这两种滚动条除了方向不同外,其功能和操作是一样的在滚动条两端各有一个滚动箭头,在滚动箭头之间有一个滚动块。滚动块从一端移至另一端时,其值在不断变化。垂直滚动条的最上端代表最小值,最下端代表最大值。


8 5 activex
8.5 ActiveX运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。控件

  • 创建一个简单的ActiveX控件

  • 操作步骤如下:

  • 1.新建ActiveX控件工程

  • 2.设计ActiveX控件界面

  • 3.为控件设计事件工程

  • Private Sub Timer1_Timer()

  • Label1.Caption = Hour(Time) & "时" & Minute(Time) & "分" & Second(Time) & "秒"

  • End Sub

  • 程序中的Hour函数、Minute函数和Second函数用分别来显示当前时间的时、分、秒。


3348362

  • 4运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。.保存工程

  • 选择“文件”菜单中的“保持工程”命令,系统先后弹出两个对话框,在对话框中系统给的默认文件名分别是:“电子表.ctl”与“ActiveX控件示例.vbp”。

  • 5.测试“电子表”控件

  • 现在测试一下刚做出的“电子表”控件。为了测试“电子表”控件,需要再添加一个“标准EXE”工程。


3348362

  • 编译生成运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。.ocx文件

  • 选择把ActiveX控件工程(ActiveX控件示例)编译成.ocx文件,控件只有被编译成.ocx文件后才能被其他应用程序使用。

  • 编译步骤如下:

  • (1)单击工程窗口中的“ActiveX控件示例”。

  • (2)选择“文件”菜单中的“生成ActiveX控件示例.ocx”命令。

  • 在弹出的“生成工程”对话框中保存文件到指定的文件夹,然后单击“确定”按钮,关闭该对话框。系统随即编译生成.ocx文件。


3348362

  • 运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。3)控件编译完成后,可在其他的VB程序中使用该控件。

  • (4)选择“工程”菜单中的“部件”命令以打开“部件”对话框,在“部件”对话框中选中“ActiveX示例”后再单击“确定”按钮 。

  • (5)“电子表”控件的图标出现在工具箱中,现在可以像使用其他控件一样使用“电子表”控件。


3348362

  • 创建运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。ActiveX控件的一般步骤。

  • (1)建立一个ActiveX控件工程。

  • (2)在一个类似Form的UserContorl对象上设计控件界面。在UserContorl对象上可以加入现有的各种控件。

  • (3)编写程序代码。

  • (4)为控件添加属性、事件和方法。

  • (5)建立属性页。属性页并不是一个控件必须要有的,但是建立属性页有助于控件的使用。

  • (6)测试控件。建立一个“标准EXE”测试工程来测试控件。

  • (7)编译成.ocx文件发布。


3348362
本章小结运行程序,在文本框中输入文字,单击“字体”按钮,结果如下图所示。

  • 1. Visual Basic中的菜单设计

    下拉式菜单、弹出式菜单

  • 2. Visual Basic中的对话框设计

  • 自定义对话框、通用对话框


ad