文档库 最新最全的文档下载
当前位置:文档库 › 第11章_对话框与菜单程序设计

第11章_对话框与菜单程序设计

第11章_对话框与菜单程序设计
第11章_对话框与菜单程序设计

第11章对话框及菜单程序设计

本章要求:

了解自定义对话框的使用。

掌握通用对话框的建立和常用属性、常用方法;

掌握利用菜单设计器来建立、修改菜单项的方法;

本章重点:通用对话框的使用、菜单的建立与使用本章重点:通用对话框的使用、动态菜单概述:“对话框”可以被看作一种特殊的窗体,它的大小一般不可改变,也没有“最小化”和“最大化”按钮,它只有一个“关闭”按钮(有时还包含一个“帮助”按钮)。

VB提供了三种解决方案:

系统预定义的对话框(InputBox和MsgBox)

用户自定义对话框

通用对话框控件。

11.1对话框程序设计

11.1.1 由普通窗体创建自定义对话框对话框窗体与一般窗体在外观上是有区别的,需要通过设置以下属性值来自定义窗体外观。

1.BorderStyle属性

窗体的BorderStyle属性值设置为3(VbFixedDoubleialog)

此目的是取消最大化和最小化按钮。

2.ControlBox属性属性值为True时窗体显示控制菜单框,为False时不显示。

例11-1 建立一个用户登录对话框

运行结果如下:

11.1.2 使用对话框模板窗体创建对话框

Visual Basic6.0系统提供了多种不同类的“对话框”模板窗体,通过“工程”菜单中的“添加窗体”命令,即可打开“添加窗体”对话框。用户可以选择的对话框有“关于”对话框、对话框、登录对话框、日积月累、ODBC登录、选项对话框6类等,

11.1.3 通用对话框程序启动时,一般没有通用对话框控件,因此,为了使用通用对话框,需要把通用对话框控件添加到工具箱,操作如下:

1.打开通用对话框

通用对话框可以提供6种形式的对话框,通过设置Action 属性值或调用Show 方法来建立不同类型的对话框。如下表:

打开通用对话框的方法与Action 属性设置

如果在过程中显示某种类型的对话框,只需要在过程中输入:

通用对话框控件名.[方法名]或者通用对话框控件名.action=[属性值]即可。

通用对话框的属性页 在设计时,可能通过属性窗口设置通用对话框的属性设置控件属性,通常使用通用对话框的属性页设置相关属性。

注:加入通用对话框后,选中,而后在属性设计页选Custom ,则出现属性对话框设置属性窗口。

打开对话框可以用来指定文件所在驱动器、文件夹及文件名等。如果要显示打开对话框,则只需要在过程中输入:

通用对话框控件名.showopen 或者通用对话框控件名.action=1

例11-2 显示图片示例

类型

Action 属

方法

“打开”对话框 1

ShowOpen “另存为”对话框 2 ShowSave “颜色”对话框 3 ShowColor “字体”对话框 4 ShowFont

“打印”对话框 5 ShowPrinter “帮助”对话框

6

ShowHelp

Dialog FileN

Fil FilterI Defaul 工程/部

选定Microsoft

CommDialog Control 6.0

选定部件标

With CommonDialog1

.FileName = ""

.Filter = "位图格式(*.bmp)|*.bmp|GIF格式(*.gif)|*.gif|JPEG格式|*.jpg"

.FilterIndex = 3

.DialogTitle = "选择图片"

.ShowOpen

End With

If CommonDialog1.FileName <> "" Then

Label1.Caption = CommonDialog1.FileName

Image1.Picture = LoadPicture(CommonDialog1.FileName)

End If

End Sub

运行结果如图:

2. 另存为”对话框使用通用对话框控件的ShowSave方法,或将Action属性赋值为2,可以在运行时显示“另存为”对话框。

属性

例11-2a:把文本框中内容写入到指定的文件

Dim str As String

Private Sub Command1_Click()

CommonDialog1.Action = 2

CommonDialog1.Filter = "文本文件(*.txt)|*.txt"

Open CommonDialog1.FileName For Output As #1

str = Text1

Write #1, str

Close #1

End Sub

3.“颜色”对话框

颜色对话框是当Action值为3时的通用对话框。如下图:

重要属性:

Color:用来返回或设置选定的颜色

例11-3 动态设置文本框的背景颜色

Private Sub cmdcolor_Click()

Text1.Text = "西江月顷在黄州,春夜行蕲水中。过酒家饮酒,醉。乘月至一溪桥上,解鞍曲肱,醉卧少休。及觉已晓。乱山攒拥,流水铿然,疑非人世也。书此语桥柱上。照野弥弥浅浪,横空隐隐层霄。障泥未解玉骢骄,我欲醉眠芳草。可惜一溪风月,莫教踏碎琼瑶。解鞍欹枕绿杨桥,杜宇一声春晓。"

CommonDialog1.Action = 3

Text1.BackColor = CommonDialog1.Color

Private Sub Command1_Click()

CommonDialog1.Action = 3

Text1.ForeColor = CommonDialog1.Color

End Sub

运行结果为:

4. “字体”对话框

字体对话框是Action为4时的通用对话框,如下图所示,提供用户选择字体、字号及字体样式等。

字体对话框重要的属性有:Color,FontName,FontSize, FontBold,FontItalic ,FontStrikethru,FontUnderline, Max 等.

Flags属性:设置所显示的字体类型,数据类型为Long。

注意在显示“字体”对话框前,必须先将 Flags 属性设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或cdlCFBoth。否则,会发生字体不存在的错误。(flags属性可以修改每个通用对话框的默认操作)

例11-3a 动态设置文本框的字体

Private Sub cmdcolor_Click()

Text1.Text = "西江月顷在黄州,春夜行蕲水中。过酒家饮酒,醉。乘月至一溪桥上,解鞍曲肱,醉卧少休。及觉已晓。乱山攒拥,流水铿然,疑非人世也。书此语桥柱上。照野弥弥浅浪,横空隐隐层霄。障泥未解玉骢骄,我欲醉眠芳草。可惜一溪风月,莫教踏碎琼瑶。解鞍欹枕绿杨桥,杜宇一声春晓。"

CommonDialog1.Flags = cdlCFBoth

CommonDialog1.ShowFont

Text1.FontName = CommonDialog1.FontName

Text1.FontSize = CommonDialog1.FontSize

End Sub

4、其他对话框

通用对话框除以上介绍的4种通用对话框外,还提供了“打印”和“帮助”对话框。“打印”对话框可以设置打印输出的方法,如打印范围、打印份数以及当前安装的打印机信息等。“帮助”对话框则通过使用ShowHelp方法调用Windows系统的帮助引擎。这两种对话框的使用方法与前面介绍的类似,读者可以参考VB有关资料,得到进一步的说明。11.2 菜单设计

11.2.1菜单概述

Windows环境下的应用程序一般为用户提供三种菜单:窗体控制菜单、下拉菜单与快捷菜单。

11. 2.2 菜单编辑器

启动菜单编辑器:有三种方法

1 单击工具栏菜单图标

2 工具/菜单编辑器

(CTRL+E)

3 窗体上快捷菜单/

菜单编辑器

菜单编辑器操作界面如右所示。

菜单编辑器的使用技巧

菜单的主要属性

1. 标题(Caption):在窗口上显示,例如:输入&File,显示为: File,热键:Alt+F

2. 名称(Name):菜单项的名称,分界符也应有名称。

3. 快捷键(Shortcut):下拉列表框

4 下一个(Next):设置下一个菜单项。

5. ←和→按钮:“→”下一级菜单项;“←”上一级菜单项。

6. 插入(Insert)按钮:插入菜单项

7. 删除(Delete)按钮:删除菜单项

8. ↓和↑按钮:改变菜单项位置。

10. 复选(Checked)检查框:菜单项为选定项。

11. 有效(Enabled)检查框:True:菜单项可选;False:不可选。

12. 显示窗口列表(Window List)检查框:

菜单设计的几项操作:

1.设计下拉菜单

2.设计子菜单或改变子菜单级别

3.为菜单项分组菜单标题用减号“-”

4.为菜单项指定访问键和快捷键与命令按钮设置访问键相同。

5.为菜单项加上复选标记

6.禁止使用菜单项在程序代码中可以通过程序代码:菜单名.Enabled=False

7.菜单项的增减

11.2.3下拉式菜单

在下拉式菜单中,一般有一个主菜单,称为菜单栏。每个菜单栏包括一个或多个选择项,称为菜单标题。

在下拉式菜单中,一般只需要对下拉菜单的最低级菜单项编写单击事件代码,如果对一个有下级菜单的菜单项编写了单击事件,则在执行下一级菜单时,该菜单程序将先执行。

菜单控件(对象)只有一个事件——单击事件(Click())

例11-4 建立下拉式菜单,通过菜单来控制文本框中的文字的字体、颜色等。

Private Sub Form_Load()

Text1.FontBold = False

Text1.FontItalic = False

Text1.FontUnderline = False

Text1.FontName = "times new roman"

Text1.FontSize = "28"

mnuFont = False

End Sub

Private Sub mnuFile_Exit_Click()

Unload Me

End Sub

Text1.Text = InputBox("请输入:")

If Text1.Text <> "" Then

mnuFont = True

Else

mnuFont = False

End If

End Sub

Private Sub mnufont_Bold_Click()

Text1.FontBold = Not Text1.FontBold

mnufont_Bold.Checked = Text1.FontBold

End Sub

Private Sub mnufont_italic_Click()

Text1.FontItalic = Not Text1.FontItalic

mnufont_italic.Checked = Text1.FontItalic

End Sub

Private Sub mnufont_underline_Click()

Text1.FontUnderline = Not Text1.FontUnderline mnufont_underline.Checked = Text1.FontUnderline End Sub

11.2.4 菜单状态的控制

1.菜单有效性控制

设计菜单可用或不可用,需要设置菜单的enabled属性;2.菜单项标记控件

设计菜单项标记,需要设置菜单项的checked属性

3.菜单项的动态增减

实现此功能,必须用控件数组、load、unload语句。

例11-5 编写一个程序,自动增加或减少菜单项。

Dim indexld As Integer

Private Sub mnuadd_Click()

Dim mnucaption As String

mnucaption = InputBox("请输入菜单标题")

indexld = indexld + 1

Load mnudyn(indexld)

mnudyn(indexld).Caption = mnucaption

mnudyn(indexld).Visible = True

End Sub

Private Sub mnudel_Click()

If indexld < 1 Then

MsgBox "菜单项已经全部删除"

Else

Unload mnudyn(indexld)

indexld = indexld - 1

End If

End Sub

11.2.5 弹出式菜单弹出式菜单是独立于菜单栏显示在窗体或指定控件上的浮动菜单,菜单的显示位置与鼠标当前位置有关。实现步骤如下:

1. 在菜单编辑器中建立该菜单。

2.设置其顶层菜单项(主菜单项)的Visible属性为False(不可见)。

3.在窗体或控件的MouseUp或MouseDown事件中调用PopupMenu方法显示该菜单。

PopupMenu的使用方法为:PopupMenu <菜单名>[,flags[,x[,y[,Boldcommand]]]]

其中:

⑴关键字“PopupMenu”可以前置窗体名称,但不可前置其他控件名称。

⑵ <菜单名>是指通过菜单编辑器设计的、至少有一个子菜单项的菜单名称(Name)。

⑶ Flags参数为常数,用来定义显示位置与行为,其取值见教材P235.

例11-6 设计一个快捷菜单

Private Sub Form_Load()

txtdocment.Text = "asghdfdjkgdfsh"

End Sub

Private Sub mnucenteralign_Click(Index As Integer)

txtdocment.Alignment = vbcenterjustfy

Private Sub mnuleftalign_Click(Index As Integer)

txtdocment.Alignment = vbleftjustfy

End Sub

Private Sub mnurightalign_Click(Index As Integer)

txtdocment.Alignment = vbrightjustfy

End Sub

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

If Button = vbRightButton Then

PopupMenu mnualign

End If

End Sub

习题解答

习题十一

一、选择题

1.设在窗体Form1上加一通用框控件commandialog1,则语句commandialog1.Action=3 的作用是______________.

A) 建立打开文件对话框B) 建立保存文件对话框C) 建立颜色对话框D) 建立字体对话框

2.设在窗体Form1上加一通用框控件commandialog1,则语句commandialog1.Action=4 的用的功能等价的是______________.

A)commandDialog1.showopen B)commandDialog1.showsave C)commandDialog1.showColor D)commandDialog1.showfont

3.设在窗体Form1上加一通用框控件commandialog1,将其filter属性和FilterIndex属性设计为:

commanddialog1.Filter=”All Files|*.*|Bitmap Files|*.bmp|JPEG Files|*.jpg|ICO Files|*.ico”

commanddialog1.FilterIndex=2

commanddialog1.showopen

则显示出来的打开文件对话框中,在文件类型框中显示________。

A)All Files B)Bitmap Files C)JPEG Files D)ICO Files

4.设在窗体Form1上加一通用框控件commandialog1,用语句commandialog1.showopen建立打开文件对话框,则从该文件对话框中按“确定”按钮退出时,要得到用户所选择的文件的路径僦文件名时,应该使用commanddialog1的哪个属性__________。

A)DefaultEXT属性B)DialogTitle属性C)FileName属性D)FileTitle属性

4.设在窗体Form1上加一通用框控件commandialog1,要建立保存文件对话框,则应该将commandialog1的Action属性设置为____________.

5.A)1 B)2 C)3 D)4

6.设在窗体Form1上加一通用框控件commandialog1,要建立保存文件对话框,使对话框的标题属性为“保存文件”,则应该对commandialog1的哪些个属性进行设置________。

A)DefaultEXT属性B)DialogTitle属性C)FileName属性D)FileTitle属性

7.在打开文件对话框中,如果单击取消按钮退出对话框,则其Filename属性取值为_______。

A)系统默认的当前路径B)系统默认的当前盘C)空字符D)系统默认的当前文件名

8.设在窗体Form1上加一通用框控件commandialog1,利用它建立一个打开文件对话框央对话框中选择了

A)空字符B)D:\Myfolder\text\ C)text1.text D)D:\Myfolder\text\text1.txt

9.用于显示弹出式菜单的方法名是_____________。

A)Showpopup B)ShowpopupMenu C)popupMenu D)ShowMenu

10.用于动态地在菜单项增加菜单项的语句是___________。

A)Load B)Unload C)LoadMenu D)UnloadMenu

11.要把一个名称为mnuFont的菜单项设置为不可见的语句是_______________。

A)mnuFont.checked=True B)mnuFont.Enabled=True C)mnuFont.Visible=False D)mnuFont.Caption=False 12.以下不是菜单编辑窗口的组成部分的是___________。

A)菜单项显示区B)菜单属性设置区C)编辑区D)菜单代码编辑区

二、填空题

1.在VB中,其对话框主要分为三类,它们分别是预定义、自定义、通用对话框。

2.设有通用对话框控件Commandialoig1,则语句Commandialoig1.Action=1的功能是打开文件,与语句功能完全等价的另外一个语句是Commandialoig1.showOpen

3.能得到颜色对话框中用户所选择的颜色的属性是Color。

4.要得到字体对话框中用户所选择的字体名字、大小、颜色的属性分别是Fontname、FontSize、FontColor。

5.要建立打开文件对话框、保存文件对话框、颜色对话框和字体对话框,应该分别使用对话框控件的showopen、showsave、showColor、showFont方法。

6.菜单分为下拉、弹出菜单,菜单总与窗体相关联,设计菜单需要在菜单编辑器中进行。

7.菜单控件只包含一个单出事件。

8.要在菜单中建立分隔符应该在菜单编辑器的标题选项中输入一个“_”符号。

三、程序设计题

1.为程序添加一个关于对话框,其中包含一仆计时器控件,实现对话框打开15秒后自动关闭。要求在程序运行时,自动打开关于对话框,即作为快速启动窗口,也可能通过菜单的“关于……”命令打开。

Private Sub Timer1_Timer()

Unload Me

End Sub

2.窗体上有一个名为CD1的通用对话框控件,一个名为text1的文本框,两个命令按钮,标题分别为“打开文件”、“保存文件”;当单击打开文件文件按钮时,把选中的文件读入text1文本框中,单击保存文件按时,把text1中的内容写入选定的文件名。

Private Sub C1_Click()

CD1.Filter = "*.txt|*.txt"

CD1.InitDir = "c:\my documents\"

CD1.CancelError = False

CD1.FilterIndex = 1

CD1.ShowOpen

Open CD1.FileName For Input As #1

Do While Not EOF(1)

Line Input #1, s

Text1.Text = Text1.Text + s

Loop

End Sub

Private Sub C2_Click()

CD1.InitDir = "c:\my documents\"

CD1.Filter = "*.txt|*.txt"

CD1.CancelError = False

CD1.FilterIndex = 1

CD1.ShowSave

Open CD1.FileName For Output As #1

Print #1, Text1.Text

Close #1

End Sub

3.建立一下下拉式菜单,顶级为“文本框颜色”,名称为colors,两个子菜单项分别为“文本颜色”和背景颜色“”,名称分别为textcolor和backcolor。编写事件过程完成相应的功能。

Private Sub backcolor_Click()

Cd1.ShowColor

Text1.backcolor = Cd1.Color

End Sub

Private Sub textcolor_Click()

Cd1.ShowColor

Text1.ForeColor = Cd1.Color

End Sub

4.建立一个弹出式菜单,菜单项目为“复制”和“粘贴”,编写事件过程完成相应功能。

Private Sub copy_Click()

Clipboard.SetText (Text1.SelText)

End Sub

Private Sub paste_Click()

Text1.SelText = Clipboard.GetText

End Sub

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

If Button = 2 Then

PopupMenu copypaste

End If

End Sub

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

If Button = 2 Then

PopupMenu copypaste

End If

补充内容——关于工具栏的设计

1.创建工具栏的步骤:

(1)在ImageList控件中添加所需要的图象。

(2)在ToolBar控件中创建Button对象。

(3)在ButtonClick事件中用Select Case语句对各按扭进行相应的编程。

在ImageList控件中添加图象

ImageList控件不可以单独使用,它专门为其他控件提供图像库,是一个图像容器控件。我们使用的工具栏按扭的图像就是通过ToolBar控件从ImageList的图像库中获得的。先在窗体上添加ImageList1和ToolBar1控件。选择ImageList1,单击右键,从弹出菜单中选择“属性”,然后在“属性页”对话框中选择“图像”标签,如图7-14所示。

属性设置:

索引(Index):表示每个图像的编号,在ToolBar的按扭中引用。

关键子(Key):表示每个图像的标识名,在ToolBar的按扭中引用。

图像数:表示已经插入的图像数目。

插入图片:插入新图像,图像文件的扩展名为.ico,.bmp,.gif,.jpg等。

为工具栏连接图像

打开ToolBar控件“属性页”对话框,选择“通用”标签,如图:

图像列表

其中:

图像列表:下拉式列表框表示与ImageList控件的连接,此例选择ImageList1控件名。当ImageList控件与ToolBar 控件相关后,就不能对其进行编辑。若需要对ImageList控件进行编辑时,须先在ToolBar控件的“图像列表”下拉列表框设置为“无”,切断与ImageList的关系,然后对ImageList进行编辑。

为工具栏增加按扭

选择图7-15ToolBar属性页的“按扭”标签,如图7-16所示,单击“插入按扭”可以在工具栏上插入Button对象。

在此选项卡中需要设置的属性:

索引(Index):文本框表示每个按扭的数字编号,在ButtonClick事件中的引用。

图像(Image):文本框选定ImageList对象中的图像,可以用图像的Key或Index值。从而和ImageList中的图像连接。如图:

关键字(Key):表示每个图像的标识名,在ToolBar的按扭中引用。

样式(Style):下拉列表框指定按扭样式,共6种。其属性值如表7-6

添加事件代码

工具栏上的按扭是控件数组,单击工具栏上的按扭会发生ButtonClick事件或ButtonMenuClick事件,我们可以利用数组的索引(Index)或关键字(Key)来识别被单击的按扭,再使用Select Case语句完成代码编写。

(1)用索引Index确定按扭

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index

Case 1

On Error GoTo nofile '设置错误陷阱

CommonDialog1.Filter = "文本文件 | *.txt" '设置通用对话框的属性

CommonDialog1.CancelError = True

CommonDialog1.ShowOpen '设置文件"打开"对话框

Text1.Text = ""

Open CommonDialog1.FileName For Input As #1

Do While Not EOF(1)

Line Input #1, inputdata

Text1.Text = Text1.Text & inputdata & vbCrLf

Loop

Close #1

Exit Sub

nofile:

If Err.Number = 32755 Then Exit Sub

Case 2

…… '剪切

Case3

……

End Select

End Sub

用关键字(Key)确定按扭

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

Case Open

On Error GoTo nofile '设置错误陷阱

CommonDialog1.Filter = "文本文件 | *.txt" '设置通用对话框的属性

CommonDialog1.CancelError = True

CommonDialog1.ShowOpen '设置文件"打开"对话框

Text1.Text = ""

Open CommonDialog1.FileName For Input As #1

Do While Not EOF(1)

Line Input #1, inputdata

Text1.Text = Text1.Text & inputdata & vbCrLf Loop

Close #1

Exit Sub

nofile:

If Err.Number = 32755 Then Exit Sub

Case Cut

…… '剪切

Case Paste

……

End Select

End Sub

vb练习题,电子版第13章多窗体程序设计

第十三章多窗体程序设计 教学要求: 了解多重窗体应用程序的适用范围与特点,掌握多重窗体应用程序建立的主要步骤;了解多重窗体程序的执行与保存特点,了解Visual Basic工程的结构特点(标准模块、窗体模块、Sub Main过程);掌握闲置循环与DoEvents语句的用法。 知识点: 多重窗体应用程序;多重窗体应用程序的建立、执行、保存;Visual Basic工程的结构特点;闲置循环与DoEvents语句。 内容导航: 一、建立多重窗体应用程序 (一)多重窗体程序设计有关的语句和方法 1.Load语句。格式:Load 窗体名 2.Unload语句。格式:Unload 窗体名 3.Show方法。格式:[窗体名.]Show[模式] 4.Hide方法。格式:[窗体名.]Hide (二)建立界面 窗体的添加方法有如下4种: 方法一:单击“工程”菜单中的“添加窗体”命令; 方法二:用鼠标右键单击“工程资源管理器”的任何项目,在弹出的快捷菜单中选择“添加”,单击“添加窗体”命令; 方法三:单击工具栏中的“添加窗体”命令; 方法四:通过组合键Alt+P,F。 二、多重窗体程序的执行与保存 (一)指定启动窗体 在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来。要改变启动窗体的执行方法如下: 从“工程”菜单中,选取“工程属性”命令,选取“通用”选项卡,在“启动对象”中,选取要作为新启动窗体的窗体,最后单击“确定”按钮。 (二)保存多窗体程序 为了保存多窗体程序,通常需要一下两步: 1.保存模块。 2.保存工程 (三)装入多窗体程序 装入多窗体程序和装入单窗体程序一样,只要打开工程文件,工程中包括的其他文件便会自动装入内存,而不用一一打开。 三、Visual Basic工程结构 Visual Basic工程分为3个层次:工程级(全局)、模块级和过程级,这对变量与类型的定义和使用都是很重要的。

菜单程序设计

菜单程序设计 一、菜单简介 在前面,我们学习了一些常用控件的使用方法,同时我们学习了如何利用这些简单的常用控件来布置界面并实现一些功能。 但是,同学们可以看到,在我们日常使用的窗口中,几乎都有一个共同特点,那就是菜单,比如windows中的窗口,word的界面,等等都有菜单。 那么,如果我们也能在我们自己的设计中也添加上菜单,那不是使我们开发的应用程序更美观、更实用或者说更像模像样了吗? 这节课,我们就来学习菜单的制作方法。(让同学们将书本翻到64页。) 我们先来看幻灯片,关于菜单这一部分,要求同学们要达到这样的要求。(学习目标和学习要点)要制作菜单,首先我们要先明确菜单的各个组成部分,当然这不用我多说,大家都很清楚,但是每一部分到底如何“称呼”,我们来具体的看一下。(见幻灯片,可以结合powerpoint的菜单进行介绍。) 二、菜单编辑器 那么,在VB中菜单是怎么被制作出来的呢? VB中提供了一个专门的菜单编辑工具——菜单编辑器。菜单编辑器在什么地方呢?启动VB后,有三种方法可以打开菜单编辑器。(见幻灯片) 现在我们打开了菜单编辑器,大家一看这个界面,感觉挺复杂的,怎么做一个菜单要这么多东西啊,其实,菜单项也是一个对象,跟其他的控件一样,也具有它自己的属性,那么跟其他控件对象相比,菜单的属性要少得多了,不是吗?但是,和其他对象一样,菜单项也有两个最常用的属性,一个是“标题”,它相当于其他控件的caption属性,另一个是“名称”,相当于name属性,很简单只要填上这两个空,就可以创建一个菜单项了。 我们按照下表来创建一个菜单,并编写代码:

Text1.Visible = True Text1.Text = "" End Sub Private Sub mnuopen_Click() Form1.Caption = "文件" Text1.Visible = True End Sub Private Sub mnuclose_Click() Text1.Visible = False Form1.Caption = "" End Sub Private Sub mnuexit_Click() End End Sub Private Sub mnubold_Click() mnubold.Checked = Not mnubold.Checked Text1.FontBold = mnubold.Checked End Sub Private Sub mnuitalic_Click() mnuitalic.Checked = Not mnuitalic.Checked Text1.FontItalic = mnuitalic.Checked End Sub Private Sub mnufontvisible_Click() Me.mnufont.Visible = Not Me.mnufont.Visible If mnufont.Visible Then mnufontvisible.Caption = "字体不可见" Else mnufontvisible.Caption = "字体可见" End If End Sub 三、访问键和快捷键 细心的同学们会注意到,在我们常见的菜单中,每个菜单名和几乎每个菜单项的旁边都有一个类似“(f)”的符号,大家都知道,这是访问键或热键,比如在powerpoint中的文件菜单,我们利用alt+f可以访问“文件”的菜单项。 那么,细心的同学还会发现,在有些菜单项的旁边会有一个类似“ctrl+z”的符号,我们知道这是快捷键,有哪位同学能告诉我,访问键和快捷键的区别是什么?(提问)我们不妨利用菜单编辑器也来设置各个菜单项的访问键和快捷键(详情见上表)。 现在我们可以运行程序来看一看。当我们使用访问键时,只是找到相应的菜单项,而并不执行菜单项,需要敲回车键才能够执行命令;而用快捷键就是执行该指令。因此,它们的区别是:(见幻灯片)。 四、菜单选项的状态 在菜单编辑器上,还有一排复选按纽:复选、有效、可见、显示窗口列表,这些是什么意思?我想大家应该很容易明白。 复选:可在设计时改写,也可在运行时通过代码改变。(如上例) 有效:将“字体不可见”的有效属性的“√”去掉,看效果。 可见:相当于visible属性; 显示窗口列表:等以后学到多文档时,我们再给大家演示。 五、菜单控件数组 在菜单编辑器中还有一个重要的属性——索引。这个市做什么用的呢?大家应该也不

单片机多级菜单编程实现

单片机多级菜单编程实现 单片机多级菜单编程实现(ZT)建立一个树状的菜单结构,用链表实现 链表中包含: 1、指向同级左右菜单和指向父菜单、子菜单的四个菜单结构体指针; 2、进入该菜单时需要执行的初始化函数指针 3、退出该菜单时需要执行的结束函数指针 4、该菜单内的按键处理函数指针数组的指针操作菜单模块需要的按键操作有:左、右、确 认、退出。 采用这种办法,可以方便的添加或删减菜单。并且只需要在其头文件中修改初始变量就可 以实现,完全无须修改C文件中的任何函数。 具体结构定义 我的定义,做个参考: #define MENU_HLP_EN //菜单帮助信息使能 typedef struct { void (*pMenuTaskInit)(void); //指向菜单任务初始化函数的指针 void (*pMenuTaskEnd)(void); //指向菜单任务结束函数的指针 }MENU_TASK_TYP; typedef struct MenuTyp { INT8U *MenuName; //菜单名称字符串 WORK_MOD WorkMod; //工作状态编号 MENU_TASK_TYP *pMenuTask; //指向菜单任务的指针 void (**pTaskKeyDeal)(void); //指向菜单任务按键处理函数数组的指针 #ifdef MENU_HLP_EN INT8U *MenuHlp; //菜单帮助字符串

#endif struct MenuTyp *pParent; //指向上层菜单的指针 struct MenuTyp *pChild; //指向子菜单的指针 struct MenuTyp *pRight; //指向右菜单的指针 struct MenuTyp *pLeft; //指向左菜单的指针 }MENU_TYP; 我根据网上的资料做的一个菜单: /****************菜单数据结构**********************/ struct KeyTabStruct{ uint8 MenuIndex; //当前状态索引号 uint8 MaxItems; //本级菜单最大条目数 uint8 ShowLevel; //菜单显示内容 uint8 PressOk; //按下"回车"键时转向的状态索引号 uint8 PressEsc; //按下"返回"键时转向的状态索引号 uint8 PressDown; //按下"向下"键时转向的状态索引号 uint8 PressUp; //按下"向上"键时转向的状态索引号 void (*CurrentOperate)(); //当前状态应该执行的功能操作 }; uint8 MenuID; //菜单ID号 uint8 MenuNextID; //下级菜单ID号 //CurMenuID=本菜单ID //MaxMenuItem=同级菜单最大项数 //OkMenuID=子菜单层所对应的菜单ID,ID=999为菜单已经到底了 //EscMenuID=父菜单层所对应的菜单ID,ID=999为菜单已经到顶了 //DownMenuID=弟菜单层所对应的菜单ID,ID=999为菜单是独生子 //UpMenuID=兄菜单层所对应的菜单ID,ID=999为菜单是独生子 //CurFunction=本菜单所对应的菜单函数指针 const struct KeyTabStruct KeyTab[MAX_KEYTABSTRUCT_NUM]={ //CurMenuID, axMenuItem, MenuShowLevel, OkMenuID, EscMenuID, Down

[论文]第11章vb菜单程序设计

[论文]第11章vb菜单程序设计 作业:P314 一,二题 P314 第三题的1,2 在前面所讲的各种操作中,事件的执行都是通过“事件驱动程序”完成的。那么,如果我们要设计菜单,该如何操作呢, 第11章菜单程序设计 看看WORD的菜单。 11.1 用菜单编辑器建立菜单 一、菜单类型 1. 下拉式菜单 例:单击“文件”菜单所显示的就是下拉式菜单。 2. 弹出式菜单 例:用鼠标右键单击窗体时所显示菜单是弹出式 菜单。 二、启动菜单编辑器的方法 有4种方法: (1) 执行“工具”菜单中的“菜单编辑器”命令。 (2) 执行热键 Ctrl+E (3) 单击标准工具栏中的“菜单编辑器”按钮。 (4) 在窗体上单击鼠标右键,从弹出的菜单中选 择“菜单编辑器”命令。 准备:打开cx1程序。 三、菜单编辑器窗口的组成

窗口分三部分:数据区、编辑区和菜单项显示区。 1. 数据区 (1) 标题:输入所建立菜单的名字及菜单中每个菜单项的标题。运行后可以看到标题。 注意:如果想在菜单中加一条分隔线,只需输入一个减号(-)。 (2) 名称:用来输入菜单名及各菜单项的控制名(相当于Name属性),运行后可以看不到,用于编程。 (3) 索引:用来为控件数组设立下标。 (4) 快捷键:用来设置菜单项的快捷键。 (5) 协调位置:是一个列表框,用来确定菜单或菜单项是否出现或在什么位置出现。 0—None 菜单项不显示 1—Left 菜单项靠左显示 0—Middle 菜单项居中显示 0—Right 菜单项靠右显示 (6) 复选:当选择该项时,可以在相应的菜单项旁加上指定的记号(例如“?”) (7) 有效:用来设置菜单项是是否能被激活。如果未选中,则相应的菜单项变灰。 (8) 可见:确定菜单项是否可见。 2(编辑区(对菜单进行编辑) (1)左、右箭头:由来产生或取消内缩符号(菜单的降级升级)。 单击一次右箭头,产生4个点,菜单层次降一级。 单击一次左箭头,删除4个点,菜单层次升一级。 (2)上、下箭头:用来移动菜单项的位置。

汇编 菜单程序设计

DATAS SEGMENT scrmm DB 100 DUP(?) ;主菜单名 menu1 DB'FILE' menu2 DB'Edit' menu3 DB'RUN' menu4 DB'TOOL' menu5 DB'QUIT' ;主菜单File下子菜单名 submenu11 DB'New' submenu12 DB'Open' submenu13 DB'Save' ;主菜单Edit下子菜单名 submenu21 DB'Cut' submenu22 DB'Past' submenu23 DB'Copy' ;主菜单Run下子菜单名 submenu31 DB'Run' submenu32 DB'Go to' submenu33 DB'Step' ;主菜单Debug下子菜单名 submenu41 DB'Call' submenu42 DB'Find' submenu43 DB'Source' ;主菜单Help下子菜单名 submenu51 DB'About' submenu52 DB'Web' submenu53 DB'Exit' ;窗口信息 msg1 DB'Please press Alt+F,Alt+E,Alt+R,Alt+T,Alt+Q or ',19h,' to open the submenu.' msg2 DB'Please press Enter (',11h,0c4h,0d9h,') to open/close the submenu.' msg3 DB'Please press ',1bh,' or ',1ah,' to select the menu.' msg4 DB'Please press ',18h,' or ',19h,' to select the submenu.' ;msg7 DB ' ' ;退出信息' over DB'Thank you for uesing,author by Jianhua' ;其他信息 escape DB'Press ESC to exit.'

菜单程序设计

菜单程序设计 菜单程序设计2010年12月05日星期日下午09:52菜单程序设计 一、菜单 菜单的基本作用: 菜单的基本类型: 几个常用术语: --菜单条出现在窗体标题的下面,包含每个菜单的标题。 --菜单包含命令列表或子菜单名。 --菜单中列出的每一项。 --从某个菜单项分支出来的另外的一个菜单。具有子菜单的菜单项右边带有一个三角符号标志。 --分隔条是在菜单项之间的一条水平直线,用于修饰菜单。 --弹出式菜单是另一种形式的菜单,在按下鼠标右键时出现,它是一个上下文相关的菜单。 使用菜单编辑器可以为应用程序创建自定义菜单并定义其属性,利用这个编辑器,可以建立下拉式菜单,最多可达6层。 启动菜单编辑器的方法有4种(先选中一个窗体,使之为活动窗体): 使用菜单"工具"/"菜单编辑器"; 启动后,弹出菜单设计窗口。 菜单编辑器窗口分为三个部分:数据区、编辑区和菜单项显示区。

1、数据区 用来输入或修改菜单项、设置属性。其中: 隔线。 可在该文本框中输入数值,这个值用来在帮助文件(用HelpFile属性设置)中查找相应的帮助主题。 用来确定菜单或菜单项是否出现或在什么位置出现。该列表有4个选项: 0-None菜单项不显示 2、编辑区 共有7个按钮。 3、菜单项显示区(菜单列表) 位于菜单设计窗口的下部,输入的菜单项在这里显示出来,并通过内缩符号(…)表明菜单项的层次。条形光标所在的菜单项是"当前菜单项"。 说明: 菜单项是一个总的名称,包括4个方面的内容:菜单名(菜单标题)、菜单命令、分隔线和子菜单。 内缩符号由4个点组成,它表明菜单项所在的层次,一个内缩符号(4个点)表示一层,两个内缩符号(8个点)表示两层…最多20个点,即5个内缩符号,它后面的菜单项为第六层。如果一个菜单项前面没有内缩符号,则该菜单为菜单名,即菜单的第一层。 隔线。 下面通过一个简单的例子说明菜单程序设计的基本方法和步骤。 例1

菜单设计C++报告

设计菜单选择程序 (1). 实习题目 菜单是应用程序的界面,通过控制语句改变程序执行的顺序,设计菜单是程序设计的基础。本设计分两步: 第一步:设计一个菜单程序。 1.菜单内容:程序运行后,给出3个菜单项的内容和输入提示,如下: 1)利用克莱姆法则求解线性方程组 2)统计一篇英文文章的单词数 3)退出程序 第二步:为上述菜单项配上相应的功能。 (2). 设计思想 菜单是该程序的整体框架,主要通过使用控制语句用来改变程序执行的顺序,即根据用户选择的不同功能来调用不同的实现函数。如果输入1,进行克莱姆法则求解线性方程组。输入2,统计一篇英文文章的单词数。输入3,退出整个程序。在cpp文件所在的文件夹内建立一个名为1.txt的文本文档,把要统计的单词个数的文章放入其中。 (3). 程序代码 #include #include #include #include #define N 500 #define ERROR cout<<"您输入的指令错误,请重新输入!"< #include using namespace std; void nemu(); //菜单选择函数 void gramer(); void show_text() ; int main() {int a,t=1; while(t) { nemu(); cout<<"选择1-3:"; cin>>a; switch(a) { case 1: cout<<"1.利用克莱姆法则求解线性方程组"<

第11章 用户界面设计

第11章用户界面设计 人机交互活动的大量存在于计算机运行的整个过程当中。目前的应用软件 都采用图形界面用以交互,图形界面的研究也成为了许多软件开发机构的课 题。本章内容主要包括:界面软件设计,设计人机交互子系统,图形用户界面 设计,多媒体用户界面设计。 11.1基础知识 11.1.1 软件面设计 1.可使用行 可使用行是用界面设计最重要的目标。它强调简单,术语标准化和一致 化,拥有完善的帮助功能,系统响应快可系统成本低,具有良好的容错能力。 2.灵活行 灵活行包括:算法可隐可现,界面方式可由用户动态制定和修改,提供 不同详细程度的系统响应信息,界面的标准化。 3.复杂行 复杂行是用户界面的规模和组织的复杂程度。在完成预定功能的前提 下,用户界面越简单越好。 4.可靠性 无故障使用的时间越长,改用户界面的可靠性就越高。用户界面应能保 证用户正确,可靠的使用系统,保证有关程序和数据的安全行。 5.用户界面设计存在的问题 用户界面的开发有别于其他软件,无固定结构,其目的和用户的真正需 求相适应。但是用户的意图有时候并不容易表达出来,唯有通过进一步的探索 和咨询的方法来完成。而目前的一部分软件设计者的心目中,存在一些心里障 碍,容易妨碍友好界面的设计: (1)部分软件人员没有从用户的角度去考虑界面设计,没有重视界面的美观和方便。 (2)设计人员习惯单一的抽象思维,希望能自主控制软件的运行,忽略了人机交互,有些开发人员则是懒于设计界面的健壮行,害怕用户的干 预导致程序运行的瘫痪。 (3)软件人员和用户在知识结构上存在差异,程序员不乐于学习用户工作领域的专业知识,忽视了软件的专业行,导致生成的软件不适合用户 的习惯。 11.1.2设计人机交互子系统 1.准则 设计出让用户满意的人机交互界面应遵循如下原则:一致性,操作简单, 及时提供反映信息,提供撤销命令,无需记忆,易学,富有吸引力。 2.策略 用户界面是适应人的需要而建立的,因此需要清楚用户的类型,用户的 特性度量以及对用户的工作进行分析。 173

第八章 程序设计VB

第八章程序设计VB 一、选择题 1、使用Visual Basic编程,通常会用到工具箱中的工具,我们把这些具称为()。 事件 B、工具盒 C、控件 D、窗体 2、在VB中的表达式11*3的运算结果值是() A、3 B、11 C、33 D、113 3、当我们编写好一个程序,把它保存起来时,“工程名”是用什么作为扩展名的() A、*.frm B、*.vbp C、*.bas D、*.bat 4、下列变量中写法错误的是() A、abc B、abc123 C、end D、sub 5、结束当前程序的语句是() A、quit B、exit C、end D、sub 6、如果要把某个图片作为程序窗体的背景,下列方法中最合理的是() A、直接修改窗体的Picture属性实现插入图片 B、在窗体中插入Image控件,再修改该控件的Picture属性插入图片 C、在窗体中插入PictureBox控件,再修改该控件的Picture属性插入图片 D、选择“插入”“图片”菜单命令实现 7、VB程序设计的完整步骤是() A、可视性程序设计 B、代码程序设计 C、可视性程序设计和代码程序设计 D、界面设计 8、在Visual Basic环境下,当写一个新的Visual Basic程序时,所何等的第一件事是()。 A、编写代码 B、新建一个工程 C、打开属性窗口 D、进入VB环境 9、要求改变窗体的标题时,应当在属性窗口中改变的属性是()

A、Caption B、Name C、Text D、Label 10、窗体能响应的事件是()。 A、ActiveFrom B、Drive C、Load D、Change 11、在以下事件过程中,Private表示() Private sub lblabAbc_Change() …… End Sub A、此过程可以被任何其它过程调用 B、此过程只可以被本窗体模块中的其它过程调用 C、此过程不可以被任何其它过程调用 D、此过程只可以被本工程中的其它过程调用 12、下列控件中可以自动设置滚动条是() A、复选框 B、框架 C、文本框 D、标签框 13、能够将文本框控件隐藏起来的属性是()。 A、Clear B、Visible C、Hide D、New 14、能够改变复选框中背景颜色的属性是()。 A、Value B、Fontcolor C、Backcolor D、Font 15、滚动条控件的Smallchange属性所设置的是()。 A、当单击滚动条上滚动块时的移动量 B、滚动条中滚动块的最小移动单位 C、滚动条中滚动块的最小移动范围 D、滚动条控件无该属性 16、在设计一个计算器是,必须要使用的控件是()。 A、滚动条 B、图片库 C、文本框 D、单选框 17、Visual Basic提供的选择框(ChechBox)可具有功能是()。 A、多重选择 B、单一选择 C、选择多次 D、单选框 18、Visual Basic为命令按钮提供的Cancel属性是()。 A、用来指定命令按钮是否为窗体的“取消”按钮 B、用来指定命令按钮的功能是停止一个程序的运行

菜单与对话框

菜单与对话框 一、选择题 1.下列不能打开菜单编辑器的操作是_____。 A) 按Ctrl+E B) 单击工具栏中的“菜单编辑器”按钮 C) 执行“工具”菜单中的“菜单编辑器”命令 D) 按Shift+Alt+M 2.以下说法正确的是_____。 A) 任何时候都可以使用标准工具栏的“菜单编辑器“按钮打开菜单编辑器 B) 任何时候都可以使用“工具“菜单下的”菜单编辑器“命令打开菜单编辑器 C) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器 D) 只有当某个代码窗口为当前活动窗体时,才能打开菜单编辑器 3.假定有一个菜单项,名为MenuItem,为了在运行时该菜单项失效(变灰),应使用的语句为_____。 A) MenuItem.Enabled=False B) MenuItem.Enabled=True C) MenuItem.Visible=True D) MenuItem.Visible=False 4. 在下列关于菜单的说法中,错误的是_____。 A) 每一个菜单项都是一个控件,与其他控件一样都有自己的属性和事件 B) 除了Click事件之外,菜单项还能响应其他的如 DblClick等事件过程 C) 菜单项的快捷键不可以任意设置 D) 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能 被用户选择 5. 以下叙述中错误的是_____。 A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项 B) 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C) 程序运行过程中,可以重新设置菜单的Visible属性 D) 弹出式菜单也在菜单编辑器中定义 6. 如果要在程序中显示一个弹出式菜单,那么要调用Visual Basic中提供的方法_____。 A)Print B)Move C)Refresh D)PopupMenu 7. 假设在菜单编辑器中定义了一个菜单项,名为Menu1。为了在运行时隐藏该菜单项,应使用的语句是_____。 A) Menu1.Enabled=True B) Menu1.Enabled=False C) Menu1.Visible=True D) Menu1.Visible=False 8.如果要向工具箱中加入控件和部件,可以利用“工程”的菜单中的_____命令。 A) 引用 B) 部件 C) 工程属性 D) 添加窗体 https://www.wendangku.net/doc/9b3567424.html,monDialog控件可以显示_____对话框。 A)4种 B)5种 C)6种 D)7种 10. 以下叙述中错误的是_____。 A) 在程序运行时,通用对话框控件是不可见的 B) 在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用 C) 调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件

汇编语言菜单程序设计 docx

皖西学院 课程设计报告书 系别:机电系 专业:电子信息科学与技术 学生姓名:夏丽学号:20071233 课程设计题目:汇编语言菜单设计 起迄日期: 5月22日~ 6月5日课程设计地点:计算机机房/机电系EDA实验分室指导教师:张斌 完成日期: 2010年6月4日

目录 一设计目的与设计要求 (1) 二设计原理 (2) 1 windows下模拟DOS环境 (3) 三汇编语言程序上机过程 (4) 1 工作环境 (5) 2 运行汇编语言程序步骤 (6) 四程序流程图................................ .7 五心得体会.. (8) 六参考资料 (9)

摘要 上世纪八十年代------随着微软公司的windows操作系统的出现,计算机应用由命令行工作方式逐渐转为图形操作方式,方便了普通用户和计算机交互使用,是计算机软件历史发展上的一个里程碑,计算机软件发展也正式进入了图形操作环境。 本文以常见的X86处理器为平台,使用汇编语言实现菜单显示,近似模拟图形操作的方式。 一.设计目的与设计要求 一本次课程设计应达到的目的 通过本设计使巩固学生对所学知识的掌握,培养学生运用课程中所学到的理论知识与实践紧密结合,独立地解决实际问题的能力,培养学生运用汇编软件的编程能力和编程技巧,锻炼其运用软件的综合能力。 二本课程设计课题任务的内容和要求(包括原始数据、技术参数、设计要求等): 1、编写程序,在文本方式下显示—个英文菜单。要求分别显示“FILE”, “EDIT”“PROCESSING”’“QUIT”四个菜单,并对每项菜单的输入都 有所响应。 2、按某一功能键自动返回DOS ; 3、写具体的汇编源程序,画出流程图; 二.设计原理 本设计使用windows 模拟DOS环境下,使用MASM汇编、编译、调试、连接等工具,使用PC机的键盘和显示器分别做程序的输入输出,实现程序的人机交互。 一 windows下模拟DOS环境 DOS 的全名是 Disk Operation System,是PC系统上历史最悠久的操作系统。基于X86体系结构的最原始的操作系统,支持对底层硬件的直接控制和访问。 DOS是一种16位操作系统,通过IO.SYS、MSDOS.SYS和https://www.wendangku.net/doc/9b3567424.html,三个主要的系统文件就能独立工作,成为“纯DOS”,但是这种DOS模式仅用于涉及硬件的底层操作,如分区、刷BIOS等。在纯DOS下再加入CONFIG.SYS,

VB程序设计答案

VB计算机答案 第1章Visual Basic简介 1. 要使计算机能够按人的要求完成一系列的操作,就要求计算机能够理解并执行人们给出 的各种命令,因此就需要在人和计算机之间制定一种二者都能识别的特定的语言,这种特定的语言就是程序设计语言。使用程序设计语言编写的、用来使计算机完成一定任务的、一系列命令的集合构成程序,编写程序的工作则称为程序设计 2. 机器语言可以在计算机上直接运行。 3. 翻译程序的作用是将源程序翻译成计算机能够理解并直接执行的目标程序;对高级语言 源程序进行翻译可以有解释方式和编译方式。解释方式不生成可执行程序。 4. 算法是指计算机解题的方法和步骤。 5. 可视化界面设计指的是:把设计界面的复杂性向编程人员隐蔽起来,编程人员不需要编 写大量的代码来描述界面,只需要使用系统提供的工具在界面上直接把各种对象“画” 出来,并设置这些对象的一些属性就可以了;事件驱动的编程机制指的是:编写程序时,针对不同对象的不同事件编写相应的代码段,每一个代码段只有当运行时在相应对象上发生相应的事件才被执行。 6. Visual Basic的3种工作模式是:设计模式、运行模式、中断模式。 7. Visual Basic中的控件可以分为3大类:内部控件、ActiveX控件、可插入对象。 8. ActiveX控件文件的扩展名是OCX。 9. 工程组文件的扩展名是vbg;工程文件的扩展名vbp;窗体文件的扩展名frm;标准模块 文件的扩展名bas;类模块文件的扩展名cls。 10. 在代码窗口的对象下拉列表中,窗体的名称总是显示为Form。 11. 在Visual Baisc中,要获取上下文相关帮助,只需要在上下文相关位置按F1键。 第2章Visual Basic简单工程的设计 一、填空题 1. 对象名.属性名 = 属性值 2. Myform.BackColor = vbBlue 3. 发生某一事件时要执行的代码;cmd1;Click;Form_Load 4. 对象名.方法名;Form1.Show;Picture1.Cls 5. 中央 6. Ctrl 7. Ctrl;Shift 8. Shift+“方向箭头”; Ctrl+“方向箭头” 9. vbp 10. 窗体 11. F5 12. 工程;工程1属性(“工程1”为当前工程名) 13. Top;Left;Width;Height 二、选择题 1.C 2.C 3.B 4.C 5.C 6.D 7.B 8.A;D 9.B 10.B 11.C 12.B 13.A 14.B 15.D 16.A 17.A 18.A 19.D;D 20.B 21.C 22.B 23.B 24.A 25.C

系统菜单编程

系统菜单 系统菜单是每个 Windows 程序的标准特性。通常系统菜单由 Windows 系统来管理,所以我们平时写程序时很少去碰它。但是,有的时候,我们确实想定制自己的系统菜单项。这样就涉及到定制菜单的处理问题,因为 Windows 无法自动处理我们定制的系统菜单。而且,系统菜单的处理方式与常规的菜单处理是不同的。 添加菜单项 首先在资源定义文件 resource.h 中定义菜单项标识,也可以在标准头文件中定义。菜单项标识必须具有唯一性。其次,Windows 对系统菜单的处理与常规菜单的处理方法是不同的,不管是缺省的菜单还是定制的菜单,它们都没有像常规菜单命令那样的消息处理例程。假设我们要添加两个定制的系统单: #define IDM_EXIT 0x0020 添加菜单项的命令是在对话框的初始化例程以及窗口创建函数(OnInitDialog(), OnCreate())中进行的。如: BOOL CBabelOnDlg::OnInitDialog() { CDialog::OnInitDialog(); // 在系统菜单中添加"退出" 菜单项

// 解决 Windows 95 中的 bug ASSERT((IDM_EXIT & 0xFFF0) == IDM_EXIT); // 命令 ID 必须在预定义的系统菜单之后 ASSERT(IDM_EXIT < 0xF000); CMenu* pSysMenu = GetSystemMenu(false); if (pSysMenu != NULL) { pSysMenu->AppendMenu(MF_STRING,IDM_EXIT,"退出(&x)"); } //other initialization } 这里在添加每个菜单前都有两个 ASSERT 语句,第一个 ASSERT 的目的是修复 Windows 95 中存在的 Bug,第二个 ASSERT 保证定制的命令 ID 是在预定义的系统菜单之后,以免发生冲突。查一下 MSDN 库的 MFC 文档关于系统菜单的描述,你会发现下面的内容: “......所有预定义的控制菜单项(也就是系统菜单)的ID号必须大于 0xF000。如果某个应用程序要添加系统菜单,其系统菜单的 ID 号必须小于 F000。” 接下来,用 GetSystemMenu 函数获取系统菜单指针。调用时使用参数 false 获取指针。如果用 true 作为参数,那么该函数会将菜单重置回缺省状态。 如果得到的指针有效,接着调用菜单添加命令在系统菜单后面添加菜单项,传递菜单ID以及菜单显示时所用的字符串。

菜单与对话框

菜单与对话框 (总分:34.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:13,分数:26.00) 1.如果设置了通用对话框的以下属性:DefaultExt="doc" FileName="c:/file1.txt",Filter= "应用程序|*.exe”,则显示“打开”对话框式,在“文件类型”下拉列表中的默认文件类型是 ______ 。 (分数:2.00) A.应用程序(*.ex √ B.*.doc C.*.txt D.不确定 解析: 2.以下叙述中错误的是______ 。 (分数:2.00) A.在同一窗体的菜单项中,不允许出现Name 属性相同的菜单项√ B.在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C.程序运行过程中,可以重新设置菜单的Visible 属性 D.同一个窗体中的所有弹出式菜单都在同一个菜单编辑器中定义 解析: 3.假定已经在菜单编辑器中建立了窗体的弹出式菜单,其顶级菜单的名称为a1,其“可见”属性为False,则程序运行后,可以同时响应鼠标左键单击和右键单击的事件过程是 ______ 。 (分数:2.00) A.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 1 And Button = 2 Then PopupMenu al End If End Sub B.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl PopupMenu a1 End Sub √ C.Private Sub Form_ MouseDown (Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 1 Then PopupMenu a 1 End If End Sub D.Private Sub Form_ MouseDown(Button As Integer, _ Shift As Integer, X As Single, Y As Singl If Button = 2 Then PopupMenu a 1 End If End Sub 解析: 4.在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个名为Command1的命令按钮,并编写如下事件过程: Private Sub Command1_ Click() CommonDialog1. Flags= cd10FNHideReadOnly CommonDialog1. Filter= "All Files (*.*) |*.*|Text File" & _ "(*.txt) |*.txt | Batch Files (*.bat)| *.bat" CommonDialog1. FilterIndex = 2 CommonDialog1. ShowOpen MsgBox CommonDialog1. FileName End Sub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是______ 。 (分数:2.00) A.All Files (*.*) B.Text Files(*.tx √ C.Batch Files (*.ba D.不确定 解析: 5.如果要在菜单中添加一个分隔线,则应将其Caption 属性设置为______ 。 (分数:2.00) A.= B.* C.&

VB课后习题第11章习题及答案

习题十一及答案 习题十一 1.简答题 (1)Visual Basic有哪几种工作模式? (2)Visual Basic中错误类型有哪几种? (3)简要说明VB程序调试的主要方法和工具。 (4)“立即”窗口、“监视”窗口和“本地”窗口有什么区别? 2.判断题 (1)在VB集成环境中只有运行程序才能发现程序错误。 ( ) (2)设置错误的捕捉陷阱,指在程序中可能出现错误的地方放置捕捉语句来捕获产生错误的语句。 ( ) (3)On Error Resume Next语句的功能是忽略错误,继续往下执行。 ( ) (4)VB程序中出现编译错误时,不会产生错误提示。 ( ) 3.选择题 (1)当语句不符合文法规则时,出现的错误是()。 A)逻辑错误 B)运行时期错误 C)语法错误 D)以上都不对 (2)下列陈述中正确的是()。 A)中断点只能在设计过程中设置。 B)中断点只能在执行过程中设置。 C)中断点可以在设计过程或在执行过程中设置。 D)中断点可以在设计过程中设置,也可以在执行过程或中断过程中设置。 (3)下列属性中,属于Err对象的有()。 A) Number B) Caption C) Description D) Text 4.填空题 (1)设置断点的快捷键是。 (2)VB单步执行的快捷键是。 (3)错误码为11时表示发生的错误是。 5.编写一段程序,如果出现数组下标越界时,则给出错误的描述并结束程序的运行。 习题十一参考答案: 一、简答题 1.Visual Basic有哪几种工作模式? (1)设计模式 启动Visual Basic后,即进入设计模式,在主窗口标题栏上显示“设计”字样。建立一 个应用程序的所有步骤基本上都在设计模式下完成,包括窗体设计、建立控件、编写程序代 码以及利用属性窗口设置属性值或查看当前属性值等。但在设计阶段不能执行程序,也不能 使用调试工具,只可设置断点。 应用程序可以直接从设计阶段进入运行阶段,但不可以进入中断模式。 (2)执行模式 执行“运行”菜单中的“启动”命令(或按下F5键、或单击工具条上的“启动”按钮), 即进入执行模式,此时标题栏上原来显示“设计”的地方已被“运行”字样所代替。当整个 应用程序进入运行阶段后,开始执行程序代码。在运行阶段只可以执行代码,不能修改代码。 (3)中断模式

VB程序设计答案

VB程序设计答案 第一章习题参考答案 一、填空题 1、对象事件驱动 2、编译运行模式解释运行模式 二、简答题 1、简述VB的特点。 答:①可视化的程序设计方法 ②面向对象的程序设计思想 ③事件驱动的编程机制 ④结构化的程序设计语言 ⑤高度的可扩充性 ⑥强大的数据库访问能力 ⑦支持动态数据交换 ⑧支持对象链接与嵌入 2、简述VB的安装过程。 答:①向光驱中放入VB安装光盘; ②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe; ③根据提示逐一回答问题,并点击“下一步”; ④点击“完成”; 2、如何启动VB。 答:三种方法: ①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击; ②双击桌面上的VB6.0快捷图标; ③在“开始”菜单的运行对话框中输入命令来启动VB; 第二章习题参考答案 一、选择题: 1-10、DCACD BCBBC 11-20、BADCA BBAAB 21-29、AACBB CDDC 二、填空题 1.窗体、控件 2.属性值 3.属性窗口设置、代码窗口设置 4.事件过程 5.对象名、下划线、事件名 6.Form_Click 第三章习题参考答案

一、选择题 1、B 2、C 3、A 4、B 5、A 6、C 7、C 二、填空题 1、11 字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean 、Date、Object、Variant 2、双引号(英文)、# 3、ASCII、1、2 4、public、通用、Dim、Static、Private、Static 5、&、+、+ 6、Now()、Time、日期型 三、解答题 1、(3) 2、(1 ) 3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量 (7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度) 4、31 5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y) (3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c)) 6、 7、(1)13 (2)17 (3)#1999-11-12# (4)zxy123ABC 8、(1)19 (2)8.16666666666667 (3)5.25 (4)2 9、(1)-4 (2)2 . 82842712474619 (3)-3 (4)49 (5)”hello”(6)He 7)16 (8)“-459.65”(9)5 10、(4) 11、(2) 12、(4) 第四章习题参考答案 一、选择题: 1—7: DAABBCD 二、填空题 1.500.00% 2.将字号扩大为原来的二倍 3. B 三、编程题(略) 1.文本框、标签和命令按钮的名称分别为text1、label1、command1 Private Sub Command1_Click() Label1.caption=text1.text Command1.caption=text1.text

相关文档
相关文档 最新文档