VB 第四章 菜单、工具栏、状态栏与对话框

VB 第四章 菜单、工具栏、状态栏与对话框
VB 第四章 菜单、工具栏、状态栏与对话框

下拉式菜单设计

1.下拉式菜单的组成(如图4.2所示)

(1)下拉式菜单由主菜单、主菜单项、子菜单等组成。

(2)子菜单可分为一级子菜单、二级子菜单直到五级子菜单。

(3)每级子菜单由菜单项、快捷键、分隔条、子菜单提示符等组成。

图4.2 下拉式菜单的组成

①菜单项:所有子菜单的基本元素就是菜单项,每个菜单项代表一条命令或子菜单标题。

②分隔条:分隔条为一条横线,用于在子菜单中区分不同功能的菜单项组,使菜单项功能一目了然,并且方便操作。

③快捷键:为每个最底层的菜单项设置快捷键后,可以在不用鼠标操作菜单项的情况下,通过快捷键直接执行相应的命令。

④热键:热键是在鼠标失效时,为用户操作菜单项提供的按键选择,使用热键时,须与键同时使用。

⑤子菜单提示符:如果某个菜单项后有子菜单,则在此菜单项的右边出现一个向右指示的小三角子菜单提示符。

2.菜单编辑器的启动

执行菜单命令:工具| 菜单编辑器,即可打开菜单编辑器,如图4.3所示。

菜单编辑器分为上下两部分:上半部分用于设置菜单项的属性,下半部分用于显示用户设置的主菜单项与子菜单项内容。

图4.3 菜单编辑器

3.菜单编辑器的使用方法

(1)标题栏(Caption):输入菜单项的标题、设置热键与分隔条;

①标题:直接输入标题内容,如“文件”。

②热键:在菜单项中某个字母前输入“&”后该字母将成为热键,如在图4.3的文件主菜单项中输入“文件(&F)”。

③分隔条:在标题框中键入一个连字符“-”即可。

(2)名称栏(Name):用于输入菜单项内部惟一标识符,如图4.3 “File”等,程序执行时不会显示名字栏内容。

注意:分隔符也要输入名称,且不能重复命名。

(3)快捷键下拉列表框(Shortcut Key):用于选择菜单项的快捷键,用鼠标单击列表框的下拉按钮,在列表框中可选择不同的快捷键。

(4)下一个按钮(Next):当用户将一个菜单项的各属性设置完后,单击“下一个”按键可新建一个菜单项或进入下一个菜单项。

(5)“←”与“→”按钮:用于选择菜单项在菜单中的层次位置。

单击“→”按钮将菜单项向右移编入下一级子菜单。

单击“←”按钮将菜单项向左移编入上一级子菜单。

(6)插入按钮(Insert):用于在选定菜单项前插入一个新的菜单项。使用时应先在图 4.3所示菜单编辑器的下半部分选定菜单项,然后按“插入”按钮,并输入新菜单项的标题、名称等内容。

(7)删除按钮(Delete):用于删除指定菜单项。先在菜单编辑器的下半部分选择要删除的菜单项,然后按“删除”按钮。

(8)“↑”和“↓”按钮:用于改变菜单项在主菜单与子菜单中的顺序位置。

(9)复选框(Checked):若某菜单项的复选框被选中,则该菜单项左边加上检查标记“√”,表示该菜单项是一个被选项。

(10)有效框(Enabled):当菜单项的有效框被选中时,程序执行时,该菜单项高亮度显示,表示用户可以选择该菜单项。当菜单项的有效框未被选中时,程序执行后,该菜单项灰色显示,表示用户不能选择该菜单项。

(11)可见框(Visible):菜单项的可见框被选中,则该菜单项可见,否则不可见。(12)显示窗口列表复选框:若某菜单项的“显示窗口列表”复选框有效,则该菜单项成为多文档窗体的“窗口”,在该“窗口”中将列出所有已打开子窗体的标题名称。

【例4.1】设计一个简易文本编辑器的下拉式菜单,如图4.2所示,设计要求如表4.1。

表4.1 简易文本编辑器的下拉式菜单结构

设计步骤如下:

(1)在e:盘新建目录e:\vb\program\exemple4_1,用于保存工程文件与窗体文件等内容。(2)在VB中新建一个工程与一个窗体。将窗体的Caption属性改为“下拉式菜单设计示例”,Name属性改为Form_ex41。

(3)启动菜单编辑器

在VB中执行菜单命令:工具|菜单编辑器,进入图4.2所示菜单编辑器对话框界面。(4)使用菜单编辑器建立菜单

①创建主菜单项

标题栏中输入“文件(&F)”(F键成为热键),名称栏中输入“File”。按“下一个”按钮将产生新的菜单项。

说明:若不需给“文件”主菜单项设置热键,只要取消标题栏中的“(&F)”即可。

②创建子菜单项

标题栏中输入“新建”,名称栏中输入“New”,在快捷键栏中选择Ctrl+N,Ctrl+N成为“新建”菜单项的快捷键。单击“→”按钮,使“新建”菜单项向右缩进4个点。单击“下一个”按钮产生新的菜单项。继续创建“打开”、“保存”等子菜单项。

说明:若再单击“→”按钮,使菜单项向右再缩进4个点(共8个点),表示该菜单项为二级子菜单项。单击n次“→”单击,使菜单项向右再缩进4*n个点,该菜单项成为n级子菜单项。若要使n级子菜单项升级为n-1级子菜单项,只需单击“←”按钮即可。当菜单项向左移动到左边框线时便成为主菜单项。

若不想给“新建”菜单项设置快捷键Ctrl+N,只需在快捷键栏中选择(None)即可。

③创建分隔条

要使菜单项成为分隔条,只需在标题栏中输入“-”即可,但名称栏必须输入内容,如Separator1等。

(5)建立菜单项事件过程

对“新建”、“打开”、“保存”与“退出”4个菜单项编写事件过程。

在窗体设计器中,选择并单击“新建”菜单项,进入代码编辑器,输入如下代码:Private Sub New_Click()

Print "新建文件"

End Sub

选择并单击“打开”菜单,进入代码编辑器,输入如下代码:

Private Sub Open_Click()

Print "打开文件"

End Sub

选择并单击“保存”菜单,进入代码编辑器,输入如下代码:

Private Sub Save_Click()

Print "保存文件"

End Sub

选择并单击“退出”菜单,进入代码编辑器,输入如下代码:

Private Sub Exit_Click()

End

End Sub

(6)保存工程与窗体文件

执行菜单命令:文件| 保存工程,将工程文件保存在目录e:\vb\program\example4_1中。工程文件名称为ex4_1.vbp。窗体文件名称为Form_ex41.frm。

(7)编译和运行程序

弹出式菜单设计

1.PopupMenu方法的调用格式

[窗体名.] PopupMenu <菜单名> [,flags][,x][,y][,boldcommand]

说明:

(1)窗体名表示要弹出菜单的窗体名称,默认为当前窗体。

(2)菜单名是要弹出的菜单名称,一般至少包含一个子菜单项的主菜单项名称。

(3)flags为可选参数,用于设定菜单弹出的位置和行为,位置常数和行为常数分别如表4.2和表4.3所示。若同时指定这两个常数,可用“逻辑或”运算符(Or)将二者结合起来,例如:4 or 2。

表4.2 Flags参数中的位置常数

表4.3 Flags参数中的行为常数

(4)x和y两个可选参数用于指定显示弹出式菜单的位置。如果该参数省略,则使用鼠标的坐标。

(5)boldname参数指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。

PopupMenu方法常在控件对象的鼠标按下事件过程MouseDown()中调用,下面举例说明。

2. 弹出式菜单应用举例

【例4.2】设计一个带有下拉式菜单、弹出式菜单的文本编辑器,其工作界面如图4.4所示。设计要求如下。

在例4.1的窗体中添加一个RichTextBox控件作为图文编辑器,用弹出式菜单实现文本编辑器的“复制、剪切、粘贴”功能,程序设计过程如下。

图4.4弹出式菜单示例

(1)打开例4.1所建的工程,另存到e:\vb\program\exemple4_2,工程文件名称为ex4_2.vbp,窗体文件名称为Form_ex42.frm。具体操作过程如下。

①新建文件目录e:\vb\program\exemple4_2 。

②将工程ex4_1.vbp另存为ex4_2.vbp

执行菜单命令:文件| 工程另存为,选择e:\vb\program\exemple4_2 目录,输入工程名为ex4_2.vbp。

③将窗体Form_41.frm 另存为Form_ex42.frm

执行菜单命令:文件| Form_41.frm 另存为,选择e:\vb\program\exemple4_2目录,输入窗体名为Form_ex42.frm | 保存;将窗体的Name属性改为Form_ex42,Caption属性改为“下拉式菜单与弹出式菜单设计示例”。

(2)在工具箱中添加图文编辑器RichTextBox

执行菜单命令:工程| 部件| 使Microsort Rich TextBox Control 6.0(SP6) 复选框有效;将RichTextBox控件添加到工具箱中。

在工具箱中双击RichTextBox,将RichTextBox放入窗体设计器,放大控件尺寸,如图4.4所示。RichTextBox是VB提供的一种图文编辑控件,具有类似于Word的文字编辑功能。(3)编写RichTextBox控件鼠标按下事件处理过程

编写在RichTextBox控件中单击鼠标右键出现弹出式菜单的事件处理过程,如图4.4 所示。该功能可通过在RichTextBox控件的鼠标按下事件MouseDown()中调用窗体Form_ex42的PopupMenu方法来实现。

在代码窗口中的对象栏中选择RichTextBox控件,在事件栏中选择鼠标按下事件MouseDown,输入事件处理程序如下:

Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Button = 2 Then'表示若用户单击鼠标右键

Form_ex42.PopupMenu Edit, 2, x, y '则窗体Form_ex42调用PopupNume方法

End If'该方法将使用主菜单项Edit中的“剪切、复制、粘贴”

End Sub'一级子菜单作为弹出式菜单

(4)编写剪切、复制与粘贴的事件处理过程。

在代码窗口中对象栏中依次选择Cut 、Copy、Paster子菜单对象,在事件栏中选择单击Click事件,输入事件过程如下:

Private Sub Cut_Click()

Clipboard.SetText RichTextBox1.SelText'将RichTextBox1所选择文本存入剪切板

RichTextBox1.SelText = ""'清除RichTextBox1所选择文本

End Sub

Private Sub Copy_Click()

Clipboard.SetText RichTextBox1.SelText '将RichTextBox1所选择文本存入剪切板

End Sub

Private Sub Paste_Click()

RichTextBox1.SelText = Clipboard.GetText '将剪切板中文本复制到RichTextBox1

End Sub

(5)保存工程与窗体文件

(6)运行程序

运行程序后,用鼠标右击RichTextBox1控件,则出现弹出式菜单,可进行文本的剪切、复制与粘贴操作。

工具栏设计

工具栏是标准Windows界面的组成元素之一,利用工具栏控件ToolBar可以很方便地将经常使用的命令建成工具栏按钮,并为按钮指定图像、文字与提示,构成功能全面的应用程序工具栏。一般工具栏控件ToolBar需要与图像列表控件ImageList 配合使用,由ImageList控件提供所需要显示的工具栏按钮图像。

ImageList控件

1、作用:向其他控件(如ToolBar、ListView和Treeview)提供图像。

2、使用方法

(1)在工具箱中添加图像控件ImageList

工程| 部件|使Microsoft Windows Common Control 6.0复选框有效;

(2)在窗体内添加ImageList控件

在工具箱中双击ImageList控件。

(3)向ImageList控件添加图片

①用鼠标右击ImageList控件,在弹出式菜单中选择属性进入属性页对话框,选择图像选项卡,单击“插入图片”按钮,在对话框中选择图像文件(.bmp或. ico)添加到ImageList控件中去。

②在关键字栏中输入关键字(Key),关键字必须为该图片惟一标识符。索引(Index)为图像的惟一序号,一般由系统自动设置。在后面的程序设计中,其它控件将使用索引(Index)或关键字(Key)来引用所需的图像。

重复①、②两步,可以添加多个图片。如添加“复制”与“粘贴”图像。

图4.5 添加图像后的图像选项卡

观看视频

图 4.6 VB中图像文件存放目录

说明,VB图像文件存放目录为:Program Files\Microsoft Visual Studio\Common\Graphics 如图4.6所示。在上述目录中还有5个子目录,用于存放5种不同类型的图形与图像文件,这5个子目录与文件类型的对应关系如表4.4所示。

表4.4 VB子目录与文件类型的对应关系

在Bitmaps目录中还可继续打开子目录OffCtlBr\Small\Color,从该子目录中可将Cut.bmp、Copy.bmp、Paste.bmp图像插入到ImageList控件中去,输入关键字Copy、Cut、Paste,则ImageList控件将包含剪切、复制与粘贴三个位图,如图4.5所示。这三个图标可供ToolBar、ListView和Treeview等控件使用。

ToolBar控件

1.概述

(1)添加到工具箱:使用与ImageList控件同样的方法将ToolBar控件添加到工具箱中。(2)添加到窗体:在工具箱中双击ToolBar控件。

(3)作用:ToolBar控件用于设计窗体中工具栏,工具栏通常应放窗体菜单栏的下方,工具栏应包含能执行常用命令的一些快速按钮。

2.ToolBar控件属性

(1)ToolBar控件的属性页

用鼠标右击ToolBar控件,在弹出式菜单中选择属性,则出现图4.7所示属性页对话框界面。对话框共有通用、按钮与图片三个选项卡,三个选项卡的作用如下。

图4.7 ToolBar控件的属性页对话框

通用选项卡用于设置工具栏的样式、外观、鼠标指针、按钮宽度、图像列表等。

按钮选项卡用于按钮插入、删除、索引、标题、样式等设置。

图片选项卡用于鼠标进入工具栏变成图形化的鼠标所需要的图片。

(3)ToolBar控件的常用属性

①ImageList属性(图像列表)

该属性用于设置与ToolBar相关联的ImageList控件。属性设置后,将由关联ImageList 控件向ToolBar控件提供按钮图像。

④ShowTips属性(显示提示)

该属性用于确定在程序运行过程中,鼠标移动到工具栏按钮时是否出现按钮飞行提示。属性值为True时,出现按钮飞行提示;属性值为False时,不出现按钮飞行提示。

⑤Visible属性(工具栏可见)

属性值为逻辑值,当值为True时工具栏可见,值为False时工具栏隐藏。

⑥Enabled属性(有效)

属性值为逻辑值,当值为True时工具栏可用,值为False时工具栏变灰色不能用。

⑦Style 属性(样式)

该属性用于设置工具栏的样式。

0-tbrStandard 表示标准样式,1-tbrFlat 表示平面样式。

用ToolBar与ImageList设计工具栏

工具栏控件ToolBar一般需要与图像列表控件ImageList配合使用,由ImageList控件提供工具栏按钮图像。工具栏的设计步骤如下。

(1)向工具箱中添加ToolBar控件与ImageList控件;

(2)向窗体内添加ToolBar控件与ImageList控件;

(3)向ImageList控件添加要使用的图像;

(4)将ToolBar与ImageList控件相关联;

(5)创建工具栏快捷按钮,即Button对象;

(6)编写ButtonClick事件过程。

有关(1)、(2)、(3)步已在前文中介绍过,本节主要讲述(4)、(5)、(6)步的内容。

1、将ImageList与ToolBar控件相关联

用鼠标右击ToolBar控件,在弹出式菜单中选择属性进入属性页对话框,选择通用选项卡,在图像列表栏中选择ImageList1,此时ToolBar控件可使用ImageList1中的图像。

2、按钮选卡属性

在窗体内右击ToolBar控件,在弹出式菜单中选择属性进入属性页对话框,选择按钮选项卡,如图4.8 所示。在图4.8中可设置按钮选项卡的属性。

图4.8 ToolBar控件中添加按钮对话框

(1)索引(Index)

索引是工具栏中按钮的惟一序号,从1开始自动编号。用户可用索引框右边的左右向箭头选择不同索引号的按钮,进行编辑处理。

(2)标题(Caption)

标题用于显示按钮标题内容。允许用户不设置标题,此时按钮只有图像而没有标题,建议在工具提示文本栏中输入按钮标题飞行提示。

(3)关键字(Key)

关键字用于惟一标识一个按钮,是程序代码中识别按钮的标志。

(4)值(Value)

设置按钮的初始状态。

0-tbrUnpress 设置初始态为按钮保持原状;

1-tbrPressed设置初始态为按钮保持按下状态。

(5)样式(Style)

按钮样式用于选择按钮的六种样式,各类按钮的功能介绍如下。

①普通按钮(0-tbrDefault)

当普通按钮按下后,在完成功能后会自动弹出恢复原状。若按钮功能不依赖于其它功能,应使用普通按钮。

②开关按钮(1-tbrCheck)

每按一次键,在“按下”与“弹起”开关状态切换。当按钮表示某种开关时,

可考虑使用开关按钮。

③编组按钮(2-tbrButtonGroup)

选择编组的所有按钮中,当一个按钮处于按下状态时,其它按钮处于弹起状态。当一组按钮功能相互排斥时,可考虑使用编组按钮。

④分隔按钮(3-tbrSeparator)

分隔按钮是宽度为8个像素点的按钮,只能作为两个按钮之间的分隔符使用,没有任何实际执行命令的功能。

⑤占位按钮(4-tbrPlaceholder)

占位按钮仅在工具栏中占用一定空间,以便显示其它控件。本身不具备命令执行功能。

⑥菜单按钮(5-tbrButtonDrop)

菜单按钮是带下拉菜单的按钮,这类按钮由一个普通按钮与一个下拉按钮构成,当单击下拉按钮时会出现下拉菜单。

(6)工具提示文本

工具提示文本用于设置工具栏按钮的飞行提示内容。当通用选项卡中的“显示提示”复选框有效时,将鼠标移到工具栏按钮上会显示飞行提示内容。

(7)图像(Image)

图像用于设置按钮显示的图像,当ToolBar控件与ImageList控件相关联后,在图像栏中输入ImageList控件中图像的索引号。

3.ToolBar控件中添加按钮

单击“插入按钮”后,“索引”框中出现数字1,依次输入按钮标题(如“剪切”)、关键字(如 Cut)、图像(如 1)等项内容后,再单击“插入按钮”继续录入其它按钮,如“复制”与“粘贴”,单击“确定”按钮结束添加按钮的操作。4.ToolBar控件常用事件

TollBar控件常用事件为单击工具栏事件ButtonClick()。工具栏由多个按钮组成,共用一个ButtonClick()事件过程,在事件过程中使用按钮的关键字Key为识别条件编写多路分支程序,执行按钮对应的事件处理程序。现举例说明如下。

【例4.3】设计一个带有下拉式菜单、弹出式菜单与工具栏的文本编辑器,其工作界面如图4.8所示。设计要求如下。

在例4.2的工程中增加工具栏,放置三个普通按钮,分别用于RichTextBox控件中被选文本的复制、剪切、粘贴功能。在工具栏上放置二个组合框ComboBox,为RichTextBox控件中文本选择字体与字号,如图4.9所示。程序设计步骤如下。

图4.9 菜单与工具栏设计示例

(1)新建文件目录

新建文件目录e:\vb\program\exemple4_3。

(2)另存工程文件

打开例4.2所建工程ex4_2.vbp,将工程文件ex4_2.vbp另存到新建目录中,命名为ex4_3.vbp ,将窗体文件Form_ex42.frm另存为Form_ex43.frm。具体方法请读者参

见例4.2。将窗体的Name属性改为Form_ex43,Caption属性改为“菜单与工具栏设计示例”。

(3)窗体添加工具栏

在窗体设计中放置一个ToolBar控件

执行菜单命令:工程| 部件| 使Microsoft Windows Common Control 6.0复选框有效;将ToolBar(工具栏控件)、StatusBar(状态栏控件)、ImageList(图像列表)等9个控件添加到工具箱中去。在工具箱中双击ToolBar控件与ImageList控件,将这两个控件

添加到窗体中。

(4)添加ImageList控件

在ImageList控件中添加剪切、复制与粘贴三个图像;关键字为Cut、Copy、Paste。(5)工具栏中添加按钮

将ToolBar控件通用选项卡中的图像列表属性设置为ImageList1。使ToolBar控件与ImageList1相关联。在ToolBar控件按钮选项卡中添加三个普通按钮,其标题为“剪切”、“复制”、“粘贴”,关键字分别为Cut、Copy、Paste;图像分别为1、2、3。提示为“剪切”、“复制”、“粘贴”。

(6)编写单击工具栏按钮事件过程

双击ToolBar工具栏控件,输入单击工具栏按钮事件过程。

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

Case "Cut"

Call Cut_Click‘单击剪切按钮,调用例4.2中的剪切过程Cut_Click

Case "Copy"

Call Copy_Click‘单击复制按钮,调用例4.2中的复制过程Copy_Click Case "Paste"

Call Paste_Click‘单击粘贴按钮,调用例4.2中的粘贴过程Paste_Click End Select

End Sub

在上述过程的形参表中,形参Button用于接收用户单击的工具栏按钮,并用Button.Key表示工具栏按钮关键字的Key值。通过Select语句判断用户按下的按钮,并调用相应的Cut_Click、Copy_Click、Paste_Click过程(见例4.2)进行剪切、复制与粘贴处理。

(7)工具栏中添加两个存放字体与字号的Combo控件

在工具栏中放置两个Combo控件,将其Name属性改为Combo_FontName 与Combo_FontSize,分别用于存放字体与字号。使用Form_Load事件对

Combo_FontName 与Combo_FontSize进行初始化赋值。

在初始过程中,用Combo_FontName控件的AddItem方法,将系统屏幕字体数组Screen.Fonts(I)依次赋给Combo_FontName控件,用Combo_FontSize控件的AddItem方法,将字号1~80赋给Combo_FontSize。事件处理过程如下。

Private Sub Form_Load()

Dim I As Integer

For I = 0 To Screen.FontCount - 1

Combo_FontName.AddItem(Screen.Fonts(I))'将系统屏幕字体赋给Combo_ FontName

Next I

Combo_FontName.Text = https://www.360docs.net/doc/0d5646807.html, '将RichTextBox1字体赋给Combo_ FontName

For I = 1 To 80

Combo_FontSize.AddItem( I)'给Combo_ FontSize赋值1~80

Next I

Combo_FontSize.Text = RichTextBox1.Font.Size'将当前RichTextBox1控件的字体大小作为

End Sub'初值赋给

Combo_FontSize

(8)编写单击Combo_ FontName组合列表框事件过程

在该事件过程,将Combo_ FontName.Text中字体值赋给RichTextBox1被选文本的字体属性SelFontName,从而改变RichTextBox1中被选文本的字体。

Private Sub Combo_ FontName _Click()

RichTextBox1.SelFontName = Combo_FontName.Text'改变RichTextBox1所选文本的字体

End Sub

(9)编写单击Combo_ FontSize 组合框列表事件过程

在该事件过程,将Combo_ FontSize.Text中字号值赋给RichTextBox1被选文本的字号属性SelFontSize,从而改变RichTextBox1中被选文本的字体大小。

Private Sub Combo_ FontSize _Click()

RichTextBox1.SelFontSize = Combo_FontSize.Text '改变RichTextBox1所选文本

字体大小

End Sub

(10)程序运行

当程序运行后,先在RichTextBox1文本编辑框中输入“中华人民共和国”,选中“中华人民共和国”,用鼠标单击Combo_ FontName的下拉按钮选择“楷体”,单击Combo_ FontSize的下拉按钮选择40号字体,再单击“复制”按钮,打回车使光标移到下一行,再单击“粘贴”按钮,则40号楷体的“中华人民共和国”被复制到下一行,如图4.9所示。最后应保存工程文件与窗体文件。

状态栏设计

状态栏是Windows风格程序界面的组成部分,用于Windows窗体下方状态信息的显示,如当前光标位置、日期、时间等状态信息。Visual Basic中的状态栏是用状态栏控件StatusBar设计的,下面介绍StatusBar控件的概况、属性与应用举例

一、StatusBar控件的概述

1、作用

用于设计窗体状态栏。状态栏由一组连续的窗格(最多16个)对象组合而成,用于显示应用程序当前的工作状态。其位置通常在应用程序窗体的底部。

2、添加到工具箱

使用与ImageList控件同样的方法将StatusBar控件添加到工具箱中。

3、添加到窗体

在工具箱中双击StatusBar控件,则该控件被自动放置到窗体下方。

二、StatusBar控件的属性

1. StatusBar控件属性

用鼠标右键单击StatusBar控件,在弹出菜单中选择属性,则屏幕显示属性页如图4.10所示。

状态栏的属性页由通用、窗格、字体、图片四个选项卡组成。状态栏的属性主要集中在“窗格”选项卡(Panel)中,StatusBar控件第i个窗格属性可用Panels (i)表示,Panels (i)下还有若干子属性,如Text、Key、MinWidth、Alignment、Style、Bevel,这些子属性在程序代码中的表达方法为:StatusBar.Panels(i).Text,…,

StatusBar.Panels(i).Bevel。现分别讲述这些子属性。

(1)索引(Index)

索引属性用于表示窗格的惟一序号,其值是用户新建窗格时由系统自动设置的。用户可通过索引右边的“←”、“→”按钮选择不同索引对应的窗格。

(2)文本(Text)

文本用于设置窗格要显示的内容。

(3)工具提示文本

工具提示文本用于设置状态栏窗格的飞行提示内容。当通用选项卡中的“显示提示”复选框有效时,将鼠标移到状态栏窗格上会显示飞行提示内容。

(4)关键字(Key)

关键字用于惟一标识窗格。

(5)最小宽度(MinWidth)

最小宽度是指当前窗格的最小宽度,用户可根据实际情况设置最小宽度值,调整各窗格的宽度。

(6)对齐(Alignment)

参数0-sbrLeft、1-sbrCenter、2-sbrRight分别表示窗格中的文本左对齐、居中、右对齐。

(7)样式(Style)

“样式”(Style)属性值决定了状态栏窗格的显示方式,共有7种显示方式,如表4.5所示。可显示相关按键的状态、系统日期与系统时间,也可显示用户自定义信息。

表4.5窗格样式Style的取值与含义

(8)斜面(Bevel)

参数0-sbrNoBevel、1-sbrInset、2-sbrRaised分别表示窗格无凹凸、凹下、凸起三种状态。

2. StatusBar控件中添加窗格

在属性页的窗格选项卡中,用“插入窗格”按钮可向状态栏中添加窗格,用户需设置每个新窗格的子属性。当窗格不要时可用“删除窗格”按钮删除窗格。

图4.10 状态栏的属性页

【例4.4】设计一个带有下拉式菜单、弹出式菜单、工具栏与状态栏的文本编辑器,其工作界面如图4.11所示。设计要求如下。

在例4.3的工程中添加状态栏控件StatusBar,状态栏共有4个窗格,分别显示当前光标的坐标位置(x、y)、文本编辑器的状态(编辑或只读)、插入状态、日期与时间,如图4.11所示。程序设计步骤如下。

图4.11 菜单、工具栏与状态栏设计示例

(1)新建文件目录与另存工程文件

新建文件目录e:\vb\program\exemple4_4,打开例4.3所建工程ex4_3.vbp,将工程文件ex4_3.vbp另存到新建目录中,命名为ex4_4.vbp ,将窗体文件Form_ex43.frm另存为Form_ex44.frm。窗体的Name属性改为Form_ex44,Caption 属性改为“菜单、工具栏与状态栏设计示例”。

(2)窗体中添加状态栏

双击工具箱中的StatusBar控件,将状态栏控件StatusBar放置在窗体下方。(3)设置状态栏属性

用鼠标右击状态栏,打开状态栏的属性页。在“窗格”选项卡中添加4个窗格,其“文本”属性分别为:x:0,y:0、状态:编辑、插入状态、日期:时间;分别设置“最小宽度”属性为:1400、1400、1400、3000;样式属性分别为:0-sbrText、0-sbrText、3-sbrIns 、0-sbrText。

(4)窗体上添加时间控件Timer

在工具箱中双击Timer控件,可将Timer控件放置在窗体中。设置其Interval 属性为1000,即每隔1000ms=1s触发一次Timer控件的Timer过程,该过程代码如下。

Private Sub Timer1_Timer()

StatusBar1.Panels(4).Text = "日期:时间" & Now

End Sub

在过程中将系统日期Now赋给StatusBar的第4个窗格,即每隔1秒钟刷新一次日期与时间显示内容。

(5)工具栏中添加Edit按钮

在工具栏中添加一个Edit按钮,用于控制RichTextBox控件的编辑状态。当Edit

按钮处于按下状态时,RichTextBox允许编辑,同时状态栏中显示“状态:编辑”,当Edit按钮处于弹出状态时,RichTextBox禁止编辑,同时状态栏中显示“状态:只读”。设置按钮的属性为:关键字为Edit,样式属性为1-tbrCheck,值属性为tbrpressed。

修改Toolbar1_ButtonClick事件过程如下。

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

Case "Copy"

Call Copy_Click

Case "Cut"

Call Cut_Click

Case "Paste"

Call Paste_Click

Case "Edit"

If Button.Value = tbrPressed Then'当Edit处理按下状态时,

RichTextBox1.Locked = False'允许RichTextBox1编辑文本

StatusBar1.Panels(2).Text = "状态:编辑"'在状态栏第2个窗口显示状态:编辑

Else

RichTextBox1.Locked = True'否则,禁止RichTextBox1编辑文本

StatusBar1.Panels(2).Text = "状态:只读" '在状态栏第2个窗口显示状态:只读

End If

End Select

End Sub

在上述过程中,当条件“Button.Value =tbrPressed”成立时,即工具栏中的“编辑”按钮是处于“按下”状态时,通过给RichTextBox1控件的Locked属性赋False值,使文本编辑器处理编辑状态,同时在状态栏的第2 个窗格中显示“状态:编辑”;否则“编辑”按钮是处于“弹出”状态,通过给RichTextBox1控件的Locked属性赋True值,使文本编辑器处理只读状态,同时在状态栏的第2 个窗格中显示“状态:只读”。(6)显示当前光标位置(x,y)

可利用RichTextBox控件的鼠标移动事件过程MouseMove中的形参(x,y),即光标的x,y坐标,来显示当前光标的坐标位置。

Private Sub RichTextBox1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)

StatusBar1.Panels(1).Text = "x:" & x & ",y:" & y‘将光标(x,y)赋给状态栏的第1个窗格End Sub

(7)显示系统时间

在Form_Load事件中添加代码:

StatusBar1.Panels(4).Text = "日期:时间" & Now

Toolbar1.Buttons(4).Value = tbrPressed‘使工具栏中编辑按钮处于按下状态、

(8)运行程序

通用对话框与单文档编辑器设计

在Windows程序中常使用对话框来实现人机对话,对话框既可以用来显示信息,又可以用于输入数据。Visaul Basic允许用户使用多种方法创建不同的对话框,可以用MsgBox函数生成消息框,用InputBox函数生成输入框,用CommonDialog控件生成通用对话框。本节主要介绍用CommonDialog控件创建通用对话框方法,以及用CommonDialog控件设计单文档编辑器的方法。

通用对话框概述

1.通用对话框的功能

Visual Basic向用户提供的通用对话框可完成“文件打开”、“文件保存”、“文件打印”、“颜色设置”、“字体设置”、“帮助”6项功能,每项功能均用单独的一个对话框实现。打开文件的对话框如图4.12所示。

图4.12 打开文件对话框

2. 通用对话框的设计方式

在Visual Basic中,通用对话框是用CommonDialog控件设计的。但CommonDialog并不是一个有对话框界面的控件,而是通过控件的6个方法来打开6种通用对话框,实现“文件打开”、“文件保存”、“文件打印”、“颜色设置”、“字体设置”与“帮助”6项功能。下面介绍CommonDialog控件的常用属性与6种打开对话框方法。

CommonDialog控件

1.添加到工具箱

执行菜单命令:工程| 部件| 使Microsoft CommonDialog Contral 6.0复选框有效。

在工具箱中双击CommonDialog图标可将控件添加到窗体中去。

2.属性

因为CommonDialog控件用于创建“文件打开”、“文件保存”、“文件打印”、“颜色设置”、“字体设置”、“帮助”6种对话框,所以控件的属性可分为文件、颜色与字体三类。

(1)文件类属性

① FileName属性用于设置或返回要“打开”、“保存”、“打印”的文件名。

② Filter属性用于文件过滤器,属性格式为:

描述1| 过滤器1| 描述2 | 过滤器2 …。例如:

所有文件(*.*)|*.*| RTF格式(*.RTF)|*.rtf |文本文件(*.txt)|*.txt

打开文件的文件过滤器效果如图4.12下部的文件类型所示。

图4.12打开文件对话框

③ FilterIndex属性用于指定默认的文件过滤器。例如:FilterIndex=3;

表示指定默认文件过滤器为*.txt,如图4.12中文件类型框首行:文本文件(*.txt)。(2)颜色类属性

① Flags属性用于设置颜色对话框中初始颜色,初值为cdlCCRGBInit;

② Color属性用于返回用户在颜色对话框中所选择的颜色。

(3)字体类属性

① Flags属性用于设置初始字体,取值与含义如表4.6所示,常取值为:cdlCFBoth。

表4.6 Flags取值与含义

?FontSize属性用于返回字体大小;

?FontBold属性用于返回是否选择“粗体”;

?FontItalic属性用于返回是否选择“斜体”;

?FontUnderline属性用于返回是否选择“下划线”;

?FontStrikethru属性用于返回是否选择“删除线”。

? 3. CommonDialog控件的方法

CommonDialog控件用于打开对话框的6种方法如下。

(1)ShowOpen方法用于显示打开文件对话框,打开指定目录中的文件。

调用该方法的格式为:CommonDialog.ShowOpen

调用打开文件对话框的效果如图4.12所示。

当用户在对话框中选择文件名(如:ex45.txt)后,应使用控件的CommonDialog.FileName属性返回所选文件名,然后再用RichTextBox控件的LoadFile方法打开指定文件。

语法格式为:RichTextBox.LoadFile CommonDialog.FileName (2)ShowSave方法用于显示保存文件对话框,将文件保存到指定目录去。

调用该方法的格式为:CommonDialog. ShowSave

调用效果与图4.12类似。

当用户在对话框中选择文件名(如:ex45.txt)后,应使用控件的CommonDialog.FileName属性返回所选文件名,然后再用RichTextBox控件的SaveFile方法保存指定文件。

语法格式为:RichTextBox.SaveFile CommonDialog.FileName (3)ShowPrinter方法用于显示打印对话框,打印输出文件。

调用该方法的格式为:CommonDialog. ShowPrinter。

(4)ShowColor方法用于显示字体颜色对话框,用户可设置字体颜色。

用户可用“颜色”对话框在调色板中选择颜色(如图4.13),并用Color 属性返回选定的颜色。

图4.13 颜色对话框

调用对话框设置“颜色”的步骤如下:

将通用对话框控件的Flags属性设置为cdlCCRGBInit。

用ShowColor方法显示颜色对话框。

用Color属性返回“颜色”对话框所选颜色。

26-编辑菜单栏_什么是菜单栏和工具栏

26-编辑菜单栏_什么是菜单栏和工具栏 编辑菜单栏“编辑”菜单“编辑”菜单中的一些命令主要是对文件进行编辑的,比如复制、粘贴、填充、描边等。“编辑”菜单是photoshop软件操作中最为常用的菜单之一。 1.“还原”命令这个命令用来将操作进行还原,它的快捷键是CTRL+Z,当时它只能还原一次,如果想要尽可能多地还原操作步骤,那么可以按CTRL+ALT+Z键。 2.“剪切”命令当画面中存在选框的时候,这个命令能将画面中选框中的部分进行裁切,下面我们通过一个练习来讲解。 一:打开这一张图片,然后用选区工具(M)选出一个选区。 二:选择编辑>剪切(CTRL+X),这样选框中的部分就被剪切掉了,如下图。 再选择编辑>粘贴(CTRL+V)就可以把剪切的部分粘贴到画面中。 3.“拷贝”和“粘贴”命令这两个命令基本上是组合来使用的,在画面中制作选框后,选择编辑>拷贝(CTRL+C)命令将其复制然后再选择编辑>粘贴(CTRL+V)将复制的部分粘贴到画面中。与前面的“剪切”命令不同的是,剪切后的图片在选框中的部分就没有了,当时使用“拷贝”和“粘贴”命令后,原图片是完整的。所以大家要注意这两个的区别。 4.“填充”命令“填充”命令的功能与工具箱中的“油漆桶”工具基本相同,只不过它将一些主要的命令和选项集中在一起。如图: 在下拉列表中可以选择很多选项,我们可以选择这些相应的选项来得到不同的效果,不过最为常用的就是前两个选项。其他的大家自己尝试吧。。。。 在“模式”下拉列表中我们可以选择填充的模式,这与前面讲过的混合模式是相同的。如“不透明度”用于改变填充颜色的透明程度。 5.“描边”命令描边命令用于对选框或者对象进行描边,下面通过一个实例来讲解下一:新建文件,然后使用矩形选框工具(M)在画面中做出选框。 二:选择编辑>描边命令,按照下图设置。 三:完成后得到如下效果。 6“自由变换”命令“自由变换”命令是我非常喜欢的一个命令,它灵活多变,用户可以完全地自行控制,做出任何变形。 自由变换:编辑——自由变换(快捷键:Ctrl+T)辅助功能键:Ctrl、Shift、Alt。 其中,Ctrl键控制自由变化; Shift控制方向、角度和等比例放大缩小; Alt键控制中心对称。 一、正常情况下(不按任何键)(1)拖动边框:单边缩放(2)拖动角点:长宽同时缩放(3)框外旋转:自由旋转,任意角度二、Shift+鼠标(1)拖动边框:单边缩放(同一(1),即无影响)(2)拖动角点:长宽等比例缩放(3)框外旋转:以15°的倍数旋转三、Ctrl+鼠标(1)拖动边框:自由平行四边形变换(2)拖动角点:角度,和相邻两边发生变化(3)框外旋转:自由旋转,任意角度(同一(3),即无影响)四、Alt+鼠标(1)拖动边框:对边等比例缩放,角度不变(2)拖动角点:中心对称的自由缩放(不是等比列)(3)框外旋转:自由旋转,任意角度(同一(3),即无影响)Tips:框外旋转时凡

C#菜单栏、工具栏、状态栏

1鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010 yantao@https://www.360docs.net/doc/0d5646807.html, 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 20102 Tower 2011/5/https://www.360docs.net/doc/0d5646807.html, Windows programming yantao@https://www.360docs.net/doc/0d5646807.html, 概述 状态栏(StatusStrip)

3鄢涛2011/5/18 《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010 ! 概述

鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 20105Tower 2011/5/https://www.360docs.net/doc/0d5646807.html, Windows programming yantao@https://www.360docs.net/doc/0d5646807.html, ü概述 MenuStrip 工具栏(ToolStrip) MDI 窗体和MenuStrip 合并 6 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010

7鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010

9 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010: ToolStripMenuItem 菜单项该类是一个ToolStripDropDownItem ,与ToolStripDropDownMenu 和ContextMenuStrip 一起工作,以便为菜单处理特殊的突出显示、布局和列排列方式。ToolStripMenuItem 类提供使您得以配置菜单项的外观和功能的属性。 10 鄢涛2011/5/18《.NET Windows programming 》 yantao@https://www.360docs.net/doc/0d5646807.html, Visual studio 2010 : ToolStripMenuItem 菜单项

03.CorelDraw的工具栏找不到啦!属性栏也没有啦!菜单不见啦!泊钨窗口不见啦……

Coreldraw系列问答:工具栏消失 2007-01-13 06:54 作者:木平原创出处:天极设计在线 问:CorelDraw的工具栏找不到啦!属性栏也没有啦!菜单不见啦!泊钨窗口不见啦…… 答:这个问题基本上是由于误操作引起的。有时候我们找不到工具栏,有时候属性栏不见了……但是我们在菜单 栏下方点鼠标右键,查看相关的选项,会发现其对应的项目前已经勾上。可为什么会没有呢? 这种情况基本上发生在新手身上,误操作将工具栏、属性栏等拖到屏幕以外的地方去了。其实它们都在,只是看不到罢了。 解决的方法很简单,只需重置Coreldraw默认选项即可。 方法是按住F8不放,双击桌面上的Coreldraw图标,提示是否要恢复到初始值,点确定即可。这个办法对解决工具栏,属性栏不见或移位等诸问题适用。 另外此方法可解决以下的类似问题: 1.可解决左边工具箱不见的问题 2.可解决右边色盘不见的问题 3.可解决复原和重做功能键不能使用的问题 4.可解决打开时出现,Menu Configuration File已毁损,使用预设设定来取代含有旧的格式,使用预设设定来取代,然后CD9就不能用了,移除重新安装,还是会出现一样的情况。 5.可解决左上角的地方("文件"的菜单旁边)会出现一个字"跪"的问题 6.可解决在属性列上改变一个矩形的尺寸、角度时,会生成新的图形的问题 7.可解决CorelDRAW开启时一直出现「试图越过其尾端对一未命名文件进行读写」的问题 8.可解决最上面菜单不见的问题 9.可解决CD在启动时出现未发现目录c:\program\corel\Graphics9\Scriprs.正在默认到桌面项的问题 10.可解决其它一些莫名奇妙的Coreldraw程序或菜单使用出错问题 F8键相当于Coreldraw中的一键还原,用好它可以省去很多麻烦。这个方法对COREL家族的软件都通用。 下一次我们解答Coreldraw版本兼容性的问题。

实验三,菜单,工具栏与状态栏应用

实验三、菜单、工具栏与状态栏应用 一、实验内容 设计一个应用程序,使用菜单实现运行界面大小的改变、透明度和背景颜色的改变;并使用工具按钮实现响应界面大小、颜色改变,使用上下文菜单实现界面大小的改变;使用状态栏实现界面大小的改变、透明度和背景颜色的改变的三种信息。 二、实验步骤 1、设计程序界面 新建一个C#.NET项目,向窗体中添加一个主菜单控件,并依次添加子菜单项,如图3-1所示;添加一个上下文菜单,实现调整窗体大小的功能,菜单项如图3-2所示;添加工具栏控件及按钮,状态栏及状态面板,以及用于图标显示的imageList1控件(图片由用户自己准备;.NET2005 版中不需要imageList1控件,直接在工具栏控件ToolStrip的Items属性集的Image属性中设置)。适当调整各控件的大小及位置。程序界面设计如图3-3所示(特别说明:以下所有图示是在2003版下完成的) 注意:不同C# 版本中的控件名及属性名、事件均有差别,详见下表: 图3-1 主菜单设计

图3-2 上下文菜单设计 图3-3 程序界面设计 2、设置对象属性 为了在工具按钮上显示图标,设置imageList1的Images图标,并设置工具栏toolBar1的ImageList 属性值为imageList1,为工具按钮“红色”、“绿色”、“兰色”、“黄色”、“紫色”分别设置ImageIndex 属性为0、1、2、3、4,以便显示图标。为状态栏设置3个状态面板,分别用于显示窗体大小、背景颜色以及透明度。其他控件的属性设置见图3-1、图3-2、图3-3。 3、编写事件代码 菜单“窗体”中子菜单项“大”有3种情况。实现窗体运行中显示为设计时窗体3倍的代码如下: private void menuItem15_Click(object sender, System.EventArgs e) { this.Size=new Size(900,600); menuItem15.Checked=true; // 设置选中状态为真 menuItem16.Checked=false; menuItem17.Checked=false; menuItem3.Checked=false; menuItem4.Checked=false; statusBarPanel1.Text="3倍大小"; // 在状态栏中显示窗体的大小} 实现窗体运行中显示为设计时窗体2倍的代码如下: private void menuItem16_Click(object sender, System.EventArgs e) { this.Size=new Size(600,400); menuItem15.Checked=false; menuItem16.Checked=true; menuItem17.Checked=false; menuItem3.Checked=false; menuItem4.Checked=false; statusBarPanel1.Text="2倍大小"; } 实现窗体运行中显示为设计时窗体1.5倍的代码如下: private void menuItem17_Click(object sender, System.EventArgs e) {

JAVA菜单和工具栏界面代码设计

实验八菜单和工具栏 import java.awt.*; import javax.swing.*; import java.awt.event.*; public class c extends JFrame{ private JMenuBar menuBar; private JMenu xtMenu,xyMenu,zyMenu,xsMenu,kcMenu,cjMenu,jsMenu;// private JMenuItem aItem,bItem,cItem,dItem;// private JMenuItem eItem,fItem,gItem,hItem; private JMenuItem iItem,jItem,kItem,lItem; private JMenuItem mItem,nItem,oItem,pItem; private JMenuItem qItem,rItem,sItem,tItem; private JMenuItem uItem,vItem,wItem,xItem; private JMenuItem yItem,zItem,aaItem,bbItem; public c(String account){ setTitle("学生管理系统"+"当前管理员为"+account); setSize(500,400); center(this);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); createMenu(); showToolBar(); setVisible(true); } //caidan public void createMenu(){ menuBar=new JMenuBar();//创建菜单栏 xtMenu=new JMenu("系统管理"); aItem=new JMenuItem("学院设置"); bItem=new JMenuItem("专业设置"); cItem=new JMenuItem("修改密码"); dItem=new JMenuItem("退出"); //dItem.setMnemonic('Q'); xtMenu.add(aItem); xtMenu.add(bItem); xtMenu.addSeparator(); xtMenu.add(cItem); xtMenu.addSeparator(); xtMenu.add(dItem);

【26-编辑菜单栏】什么是菜单栏和工具栏

【26-编辑菜单栏】什么是菜单栏和工具栏 编辑菜单栏“编辑”菜单“编辑”菜单中的一些命令主要是对文件进行编辑的,比如复制、粘贴、填充、描边等。“编辑”菜单是photoshop软件操作中最为常用的菜单之一。 1.“还原”命令这个命令用来将操作进行还原,它的快捷键是CTRL+Z,当时它只能还原一次,如果想要尽可能多地还原操作步骤,那么可以按CTRL+ALT+Z键。 2.“剪切”命令当画面中存在选框的时候,这个命令能将画面中选框中的部分进行裁切,下面我们通过一个练习来讲解。 一:打开这一张图片,然后用选区工具(M)选出一个选区。 二:选择编辑>剪切(CTRL+X),这样选框中的部分就被剪切掉了,如下图。 再选择编辑>粘贴(CTRL+V)就可以把剪切的部分粘贴到画面中。 3.“拷贝”和“粘贴”命令这两个命令基本上是组合来使用的,在画面中制作选框后,选择编辑>拷贝(CTRL+C)命令将其复制然后再选择编辑>粘贴(CTRL+V)将复制的部分粘贴到画面中。与前面的”剪切”命令不同的是,剪切后的图片在选框中的部分就没有了,

当时使用“拷贝”和“粘贴”命令后,原图片是完整的。所以大家要注意这两个的区别。 4.“填充”命令“填充”命令的功能与工具箱中的“油漆桶”工具基本相同,只不过它将一些主要的命令和选项集中在一起。如图:在下拉列表中可以选择很多选项,我们可以选择这些相应的选项来得到不同的效果,不过最为常用的就是前两个选项。其他的大家自己尝试吧。。。。 在“模式”下拉列表中我们可以选择填充的模式,这与前面讲过的混合模式是相同的。如“不透明度”用于改变填充颜色的透明程度。 5.“描边”命令描边命令用于对选框或者对象进行描边,下面通过一个实例来讲解下一:新建文件,然后使用矩形选框工具(M)在画面中做出选框。 二:选择编辑>描边命令,按照下图设置。 三:完成后得到如下效果。 6“自由变换”命令“自由变换”命令是我非常喜欢的一个命令,它灵活多变,用户可以完全地自行控制,做出任何变形。 自由变换:编辑——自由变换(快捷键:Ctrl+T)辅助功能键:Ctrl、Shift、Alt。 其中,Ctrl键控制自由变化;Shift控制方向、角度和等比例放大缩小;Alt键控制中心对称。

菜单及工具栏设计

菜单及工具栏设计 (总分:40.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:11,分数:22.00) 1.将一个预览成形的菜单存盘,再运行该菜单,却不能执行。这是因为______。 (分数:2.00) A.没有放到项目中 B.没有生成√ C.要用命令方式 D.要编程序 解析: 2.设计菜单要完成的最终操作是______。 (分数:2.00) A.创建主菜单及子菜单 B.指定各菜单任务 C.浏览菜单 D.生成菜单程序√ 解析: 3.为一个表单建立了快捷菜单,要打开这个菜单应当______。 (分数:2.00) A.用热键 B.用快捷键 C.用事件√ D.用菜单 解析: 4.如果不能预计频率,也无法确定逻辑顺序,则可以按字母顺序组织菜单项。当菜单中包含有______个以上的菜单项时,按字母顺序特别有效。 (分数:2.00) A.5 B.6 C.7 D.8 √ 解析: 5.要创建快速菜单,应当______。 (分数:2.00) A.用热键 B.用快捷键 C.用事件 D.用菜单√ 解析: 6.在菜单设计器中,要为某个菜单项定义一个快捷键,要在______定义。 (分数:2.00) A.菜单名称列 B.结果列 C.选项列√ D.菜单级 解析:

7.Visual FoxPro的系统菜单,其主菜单是一个______。 (分数:2.00) A.条形菜单√ B.弹出式菜单 C.下拉式菜单 D.组合菜单 解析: 8.使用菜单方法打开一个在当前目录下已经存在的查询文件zgik.qpr后,在命令窗口生成的命令是______。(分数:2.00) A.OPEN QUERYzgiqpr B.MODIFY QUERYzgiqpr √ C.DO QUERYzgiqpr D.CREATE QUERYzgiqpr 解析: 9.假设有菜单文件mainmu.mnx,下列说法正确的是______。 (分数:2.00) A.在命令窗口利用DO mainmu命令,可运行该菜单文件 B.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DO mainmu 可运行该菜单文件 C.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DOmainmmpr可运行该菜单文件 D.首先在菜单生成器中,将该文件生成可执行的菜单文件mainmmpr,然后在命令窗口执行命令:DO MEMU mainmu可运行该菜单文件√ 解析: 10.假设已经生成了名为mymenu的菜单文件,执行该菜单文件的命令是______。 (分数:2.00) A.DO mymenu B.DO mymenmpr √ C.DO mymenpjx D.DO mymenmax 解析: 11.使用Visual FoxPro的菜单设计器时,选中菜单项之后,如果要设计它的子菜单,应在 Result中选择______。 (分数:2.00) A.PadName B.Submenu √ https://www.360docs.net/doc/0d5646807.html,mand D.Procedure 解析: 二、{{B}}填空题{{/B}}(总题数:9,分数:18.00) 12.菜单设计器窗口中的 1组合框可用于上、下级菜单之间的切换。 (分数:2.00) 填空项1:__________________ (正确答案:菜单级) 解析: 13.创建SDI菜单的方法是,打开“菜单设计器”,从“显示”菜单中选择 1选项,并选择 2。 (分数:2.00) 填空项1:__________________ (正确答案:“常规选项”) 填空项1:__________________ (正确答案:“顶层表单”) 解析:

Excel 2007 与 Excel 2003 菜单工具栏比较

一.Excel 2007 与Excel 2003 菜单工具栏比较 相信很多人在刚接触到Excel 2007时,都有种无从下手的感觉,特别是原先在Excel 2003或以前的版本中熟悉的菜单和工具栏不见了,好多命令都不知道“隐藏”到哪儿去了。下面,我们对Excel 2003和Excel 2007进行比较,看看Excel2003中的菜单和工具栏在Excel2007中是如何组合的。 Excel 2003的基本界面 图1.1:Excel2003界面 如上图1.1所示,为大家很熟悉的Excel2003及以前版本的界面。 Excel 2007的界面 图1.2:Excel2007界面

Excel2007操作将功能进行逻辑分类,分别放在相应的“带形功能区”中,共分9类,即开始、插入、页面布局、公式、数据、审阅、视图、开发工具、加载项。每个功能区中又分成几块小的区域,分别集中相应的功能命令按钮。同时,一些命令按钮旁有下拉箭头,含有相关的功能选项。在区域的右下角,有扩展箭头可显示该区域功能的对话框。 下面将详细地进行比较 (1)Office按钮 这两项调到了07版的 【页面布局】 相当于03版的 [工具]->[选项] Office 07版Office按钮Office 03版文件选项 单击Office按钮,则显示与文件操作相关的命令,相当于以前版本中的“文件”菜单中的大多数内容,但变化还是比较大的,在新版本中移除了“页面设置”和“打印区域”,增加了“Excel选项”。 如果对方的版本过低又没安装补丁的话是开不打新版的文件的,我们可以在“另存为”里选择“Excel 97-2003工作簿”另存一个副本给他。 打印预览,在“打印里”,我们最好将“打印预览”和“快速打印”添加到快速访问工具栏里,这样方便我们工作。 设置访问密码有两个方法:1.在“准备”里的“加密文件”可以设置,但只可以设置访问密码,不能设置修改密码。 2. 在“另存为”界面“保存”旁边有一个“工具”按钮,点击“工具”按钮右边的小三角,在弹出菜单中选择“常规选 项”。这时我们就可以在“常规选项”中设置密码了。设置“打开权限密码”后,他人可以用这个密码阅读这个Excel文件。设置“修改权限密码”后,他人可以用这个密码打开和修改这个Excel文件。 一般我们发布的知通都以PDF文件格式发布,这时我们可以点击“发送”再选择“PDF电子邮件附件”。

工具,菜单,及工具栏

工具,菜单,及工具栏 Ps丶杰丨Forever Photo shop 工具箱中包含了用于创建和编辑图像、图稿、页面元素的工具和按钮。单击工具箱顶部的双箭头切换为单排和双排。 移动工具箱 默认的情况下,工具箱停放在窗口左侧。将光标放在工具箱顶部双箭头

右侧,可以将工具箱从停放中拖出,放在窗口的任意位置。 程序栏:可以调整photo shop窗口大小,将窗口最大化、最小化或关闭。还可以切换工作区,显示参考线,网络等。 菜单栏:菜单中可以执行各种命令。单击菜单名称即可打开相应的菜单。 标题栏:显示了文档名称、文件格式、窗口缩放比例和颜色模式等等。如果包含多个图层,则标题栏中还会显示当前工作的图层的名称。 图中的文档名称为鱼老大,格式为psd,缩放比例为33.3%,颜色模式为RGB。括号里面则为:我选择的图层。

工具箱:包含用于各种操作的工具,如创建选区,移动图像,绘画,绘图等 工具选项栏:用来设置工具的各种选项,它会随着所选工具的不同而变换内容。 魔棒工具选项栏 渐变工具选项栏 面板:可以帮助我们编辑图像。有的用来设置编辑内容,有的用来设置颜色属性。 状态栏:可以显示文档大小,文档尺寸,当前工具和窗口缩放比较等信息。 图中缩放比例为33.33%,文档尺寸为146.05毫米* 216.03毫米 文档窗口:是显示和编辑图像的区域。 选项卡:打开多个图像时,它们会最小化到选项卡中,单击各个文件的名称即到相应的文件。 在photo shop中打开一个图像时,便会创建一个文档窗口。如果打开了多个图像,则各个文档窗口会以选项卡的形式显示。 按下Ctrl+ Tab键,即可照前后顺序窗口切换。按下Ctrl+ Shift+ Tab键,可按照相反的顺序切换窗口。 单击一个标题栏将其从选项卡中拖出,它便成为可任意移动位置的浮动窗口。

WIN7中任务栏,菜单栏和工具栏的基本设置

WIN7中任务栏,菜单栏和工具栏的基本设置 WIN7的任务栏和XP的任务栏相比有很大的区别,下面我们就来看看WIN7中的变化。 WIN7的任务栏中没有了快速启动栏,这是因为WIN7中增加了一项新的功能,可以将桌面快捷方式附到任务栏,其方法很简单,只要将你想要附到任务栏的桌面快捷方式托到任务栏即可,如果要将其从任务栏移除则只要在选中后“右键”则会显示“解除任务栏锁定”,单击即可。 有些时候我们会发现有些朋友的电脑的任务栏显示在电脑的右面或者上面,也有一些同学的电脑的任务栏就没有,这是怎么设置的呢?在任务栏空白处右键,会看到下图

我们只要将“锁定任务栏”前的勾去掉,那么我们就可以将任务栏托动到电脑的上下左右了,如果要隐藏任务栏则将下面的“自动隐藏任务栏”前的勾给勾上就可,要显示任务栏时只要我们将鼠标移动到最下方就会再次显示。“屏幕上的任务栏位置”也可以设置任务栏的位置,在此就不多说了。

“在任务栏按钮”我们可以作一些设置,具体操作很简单,在此就省略了。 WIN7中新增了AERO PEEK预览功能,有些时候我们会发现我们在任务栏里面的“使用AERO PEEK功能”前面的勾我们也勾上了,可就是没法使用预览功能,这很可能是我们还有一个地方忘了设置。具体方法是“计算机——属性——高级系统设置——高级——性能——设置——视觉效果”

将启用AERO PEEK前的勾给勾上就可以了。 有些时候我们会发现我们电脑里面的开始菜单里面的一些程序或项目不见了(如有些电脑里的开始菜单没有运行项),这时候我们就要到“开始菜单”项里设置了,在开始菜单里我们单击“自定义”会看到下图

VC对话框程序添加目录菜单、工具条和状态栏

一、引言 对于不需要文档/视图结构支持的程序一般都采用对话框做为程序的基础框架。虽然在对话框程序上可以通过修改其属性来添加系统菜单,但对比SDI和MDI程序的工具条和状态栏未免使界面显得简单、单调。虽然在V isual Basic 中提供有独立的工具条和状态栏标准控件可以直接在对话框上使用,但V isual C++ 6.0所提供的26种基本Windows标准控件却没有将它们包含其中。因此要在对话框程序中实现工具条和状态栏只能通过编程来动态实现。 二、工具条的实现过程 MFC对于工具条和状态栏分别提供了CToolBar和CStatusBar两个基本类库,但由于在实现时MFC 对其做了过多的封装,以至无法了解内部的一些核心技术。因此本文在实现过程中放弃了相对比较方便的CToolBar和CStatusBar类的使用,而是通过SDK(Software Developers Kit,软件开发工具箱)式的WinAPI 应用程序接口来实现的。在API函数中经常需要用到对话框的窗口句柄和当前的实例句柄,在SDK程序设计中以上两个句柄可以直接从入口函数WinMain()中引出,而在MFC下也对其做了封装,不能直接获取。但MFC也为其留有接口:CWnd窗口类提供的GetSafeHwnd()可以返回对话框的窗口句柄;函数AfxGetInstanceHandle()则可以获取当前应用程序的实例句柄。由于对话框和状态栏属于程序界面的一部分,需要程序启动时就显示出来,因此获取句柄的代码和后面创建显示工具条、状态栏的全部代码都应当放在对话框初始化消息WM_INITDIALOG的响应函数OnInitDialog()中进行: HWND hDlg=GetSafeHwnd(); HINSTANCE hInstance=AfxGetInstanceHandle(); 对于待添加的工具条按钮可以根据情况细分为两种: 一种是Windows标准的一些工具条按钮比如打开文件、打印预览、在线帮助等等,这类工具条按钮可以直接使用预定义好的按钮图标的ID号,在VC自带的CommCtrl.h头文件中有详细定义; 另一种就是用户自己添加的工具栏按钮,只能由用户在资源视图中为其指定相应的图标。不论是那种工具条按钮的创建都是通过对TBBUTTON结构的设置来决定每一个工具条按钮的状态,对于第一个填充好的工具条按钮可以用CreateToolbarEx()来直接将其加入到工具条上,并返回指向工具条的窗口句柄,而对于以后工具条按钮的添加则只能通过向工具条发送TB_ADDBUTTONS消息来实现: …… //填充工具条按钮结构: TBBUTTON ptoolbar[30]={{STD_HELP, //指定Windows的标准帮助图标 MU_ONE, //工具条按钮的ID TBSTA TE_ENABLED, //可用状态 TBSTYLE_BUTTON, //指定创建一个可以下按的按钮 0, //保留,由应用程序定义该参数意义 0}, //按钮字串索引 //创建一个分割按钮用的竖线 {0,0,TBSTA TE_ENABLED,TBSTYLE_SEP,0,0}};

Matlab GUI 菜单和工具栏常用操作

Matlab GUI 常用操作 菜单 1.编辑菜单 打开GUIDE,选择工具栏上面的菜单编辑按钮 2.添加菜单回调函数(callback) 菜单编辑完成保存后,在fig对应的m文件中会自动生成菜单的回调函数声明例如菜单tag名为menuFilePrint,则对应的callback函数为: function menuFilePrint_Callback(hObject, eventdata, handles) 可以在该函数内添加代码实现功能。 3.菜单项访问 获取菜单句柄 在matlab的函数中要对某个菜单进行访问,必须获得该菜单的句柄。 如果是在菜单的回调函数里面,hObject就是该菜单的句柄;

如果是在其他的函数里面要获得某一菜单的句柄,比如选中工具栏上的ZoomIn按钮,按钮处于被按下状态,同时要设置对应菜单项view->Zoom-Zoom In 为选中状态,如下图: 这里要在按钮“ZoomIn”的callback函数里面实现对菜单menuViewZoomIn的状态设置。首先得获得菜单的句柄: % first we must get the handle of menuZoomIn hFigChildren = allchild(gcf); % menuView handle hMenuView = findobj(hFigChildren,'Tag','menuView'); hvc = allchild(hMenuView); % menuViewZoom hViewZoom = findobj(hvc,'Tag','menuViewZoom'); hvzc = allchild(hViewZoom); %menuZoomIn handle hZoomIn = findobj(hvzc,'Tag', 'menuZoomIn'); 获取设置菜单状态 得到菜单的句柄后就可以得到菜单当前的状态了: if strcmp(get(hZoomIn, 'Checked'),'on') set(hZoomIn, 'Checked', 'off'); else set(hZoomIn, 'Checked', 'on'); end

什么是菜单、栏工具栏、标题栏

什么是工具栏,什么是菜单栏、什么是标题栏? 回答1、 菜单栏就是窗口最上方,标题栏下方的那部分,通常有“文件,编辑,查看,工具,帮助”等选项。 工具栏一般在菜单栏下方,通常有“前进,后退”等按钮。 回答2、 最上面的是标题栏,下面就是菜单栏,再下面就是工具栏 回答3、 菜单栏就是标题栏下面的一栏,有文件,编辑,查看,工具,帮助等等, 工具栏就菜单栏下面的所有栏目的统称.像前进,后退,主页.刷新等 标题栏就是整个窗口最上面的一栏,上面的标题说明当前窗口是什么位置 菜单栏和工具栏是什么区别 (菜单栏是应用程序里所有功能的集大成,非常丰富。可是要使用菜单栏里的功能,您通常得点好多下鼠标。为了方便用户,就把最常用的功能放在工具栏里。工具栏里通常都是图形按钮,图形按钮使用起来很方便,点一下鼠标就可以了。

小结: 在功能上,工具栏其实是菜单栏的子集、包含菜单栏里最常用的功能;在使用方式上,工具栏比菜单栏方便,点一下鼠标就行

仅供个人用于学习、研究;不得用于商业用途。 For personal use only in study and research; not for commercial use. Nur für den pers?nlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales. толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях. 以下无正文

实验12 菜单、工具栏和状态栏

实验内容 创建一个单文档应用程序Ex_SDI,开始运行时主框架窗口的大小为屏幕的1/4大小,并移动到屏幕的右上角。当单击工具栏上的圆圈按钮,该按钮呈按下状态,此时在窗口的客户区的光标为一个圆圈,双击鼠标,则状态栏上显示“你在(x,y)处双击鼠标”(x,y为鼠标在客户区的位置)。若再单击工具栏上的圆圈按钮,该按钮呈正常状态,光标变成原来的箭形,双击鼠标,状态栏上不再显示任何文本。如图T12.1所示是单击圆圈按钮时的程序界面。 实验准备和说明 (1)在教程第5章全部讲授后进行本次实验。 (2)构思本次上机所需要的程序。 实验步骤 1.创建工作文件夹 打开计算机,在“D:\Visual C++程序、LiMing”文件夹中创建一个新子文件夹“实验12” 2.改变运行时窗口的大小和位置 改变运行时窗口的大小和位置设置步骤如下。 (1)启动Visual C++6.0。 (2)用 MFC AppWizard 创建一个默认的单文档应用程序Ex_SDI。在“新建”对话框中将项目文件夹定位到“D:\Visual C++程序\ LiMing\实验12”。 (3)将项目工作去窗口切换到Class View 页面,打开并定位到 CEx_SDIApp::InitInstance 函数处。 (4)在CEx_SDIApp::InitInstance 函数的最后添加下列代码: BOOL CEx_SDIApp::InitInstance() { … m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); CRect rcDesktop; ::GetWindowRect(GetDesktopWindow(),rcDesktop); // 获取屏幕大小 m_pMainWnd->MoveWindow(rcDesktop.Width()/2.0, rcDesktop.Width()/2, rcDesktop.Height()/2); return TRUE; }

实验5 菜单、工具栏和状态栏

实验 实验目的和内容 (1)创建一个单文档应用程序Ex_SDI。在“查看”菜单下添加一个子菜单“鼠标位置”,ID为ID_VIEW_MOUSE,当选择该菜单命令后,鼠标当前的位置显示到状态栏上, 同时该菜单项呈选中状态。再次选择该菜单命令,状态栏不再显示当前鼠标位置, 同时该菜单项的选中状态被去除。 (2)在工具栏上添加并设计一个工具按钮图标,使该按钮和ID_VIEW_MOUSE菜单命令联动,并添加一个快捷键Ctrl+M和该菜单命令联动。 (3)在窗口客户区中右击鼠标,弹出快捷菜单,显示主菜单“查看”中的菜单命令。结果如图5.1所示。 图5.1 Ex_SDI运行结果 实验准备和说明 (1)具备知识:菜单、工具条和状态栏。 (2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验5”。 实验内容和步骤 1.启动Visual C++ 6.0 打开计算机,启动Visual C++ 6.0系统。 2.用MFC AppWizard(exe)创建一个默认的单文档应用程序Ex_SDI ①选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”标签,在应用程序项目类型列表框中选择MFC AppWizard(exe)的项目类型,将工程文件夹定位到“…\Visual C++程序\实验\实验5”,并在工程框中输入项目名Ex_SDI。 ②单击“确定”按钮,从出现的对话框中,选择单个文档(Single Document,SDI)应用程序类型。 ③保留其他的默认选项,单击“完成”按钮出现一个对话框,显示出用户在步骤中作出的选择,单击“确定”按钮,系统开始创建。

3.添加菜单 ① 在项目工作区窗口中选择ResourceView 页面,双击资源Menu 项中的IDR_ MAINFRAME ,则菜单编辑器窗口出现在主界面的右边,相应的Ex_SDI 项目的菜单资源被显示出来。 ② 单击“查看”菜单,则在该菜单的最后一项,Visual C++为用户留出了一个空位置,用来输入新的菜单项。 ③ 在菜单的空位置上双击鼠标左键,则出现它的属性对话框,如图5.2所示,在标题框中输入“鼠标位置(&M )\tCtrl+1”,在ID 框输入该菜单项的资源标识:ID_VIEW_MOUSE ,在提示框中输入“在状态栏上显示当前鼠标位置\n 鼠标位置”,其中\n 前一部分的文本是显示在状态栏上的,后一部分是联动的工具图标按钮的提示文本。 图5.2 菜单项属性设置 4.添加并设计一个工具图标按钮 ① 在项目工作区窗口的ResourceView 页面中,双击Toolbar 中的IDR_MAINFRAME ,打开工具栏资源。 ② 单击工具栏最右端的空白按钮,在资源编辑器的 按钮设计窗口中绘制一个“箭头”,颜色为黑色,然后将 其拖动到“帮助”按钮的前面,并使该按钮的前后均有 半个空格,结果如图5.3所示。 ③ 双击刚才设计的工具按钮,在弹出的属性对话框 中将其ID 设为ID_VIEW_MOUSE 。 5.菜单命令和工具按钮的更新 ① 为CMainFrame 类添加一个BOOL 型的成员变量m_bIsMouse ,在CMainFrame 类构造函数中将m_bIsMouse 的初值设为FALSE 。 ② 用MFC ClassWizard 在CMainFrame 类中添加工具按钮ID_VIEW_MOUSE 的COMMAND 和UPDA TE_COMMAND_UI 消息映射函数,并添加下列代码: void CMainFrame::OnViewMouse() { m_bIsMouse = !m_bIsMouse; } void CMainFrame::OnUpdateViewMouse(CCmdUI * pCmdUI) { pCmdUI ->SetCheck(m_bIsMouse); } ③ 编译运行并测试。 6.设置快捷键 ① 在项目工作区窗口的ResourceView 页面中,双击Accelerator 中的IDR_ MAINFRAME ,打开快捷键资源。 图5.3 设计的工具按钮

实验5 菜单、工具栏和状态栏

实验5 菜单、工具栏和状态栏 实验目的 1、掌握菜单的实现机制和创建过程 2、掌握普通下拉菜单和上下文菜单的创建 3、掌握工具栏的创建和消息处理过程 实验内容: 本节主要掌握菜单、工具栏的使用方法,内容包括菜单的创建和使用、工具栏的创建和使用。 例1.要求创建一个应用程序,实现在客户区绘制椭圆和矩形的功能。为应用程序添加一个“图形”菜单项,该菜单项包含两个子菜单“椭圆”和“矩形”。 步骤: (1)用AppWizard创建一个基于MFC的SDI应用程序,工程名为ex61。 (2)在ResourceView页面中,双击Menu文件夹,可以看到一个ID为ID_MAINFRAME 的菜单,此菜单为应用程序的主菜单。双击ID_MAINFRAME菜单,进入菜单编辑器,在编辑框窗口中出现菜单栏。 (3)菜单项的添加:1)“图形”菜单项的添加。在ID_MAINFRAME菜单的最右端有一个空的菜单项,双击该菜单项弹出该菜单项的属性对话框,在该对话框中,选定弹出(pop-up),表示本菜单项中包含弹出子菜单,在标明(caption)编辑框中输入该菜单项的标题“图形”,使该菜单项下产生一个空的子菜单项。2)添加“椭圆”和“矩形”子菜单项。双击“图形”菜单项下的空子菜单,其属性对话框中各项为: (4)增加“椭圆”和“矩形”的消息处理……1)利用ClassWizard为ID_ELLIPSE在CEx61View类中添加消息映射,如下图。双击COMMAND弹出对话框,要求在该对话框中输入消息处理函数的名称,选择默认函数名,确定后,双击消息处理函数OnEllipse进行编辑(矩形同样进行编辑,消息处理函数为OnRectangle),代码如下:

菜单及工具栏详细说明

菜单及工具栏详细说明 1 菜单栏 Borland C++ Builder集成开发环境的菜单栏与许多Windows应用程序开发环境相类似,其为用户提供了编辑、调试、管理应用程序等功能。菜单栏的视图如图3-1所示。 图1 Borland C++ Builder菜单栏 1.1 File菜单 File菜单中的菜单项主要是对文件的操作,主要包括新建、打开、保存、打印等功能。下面将各菜单项的主要功能列出,如表1 所示。 表1 File菜单项的主要功能列表 1.2 Edit菜单 Edit菜单中的菜单项主要是用于编辑。其包括撤销、重做、复制、粘贴等常用命令,它还有调节对象的对齐方式、尺寸等命令。各菜单的功能描述如表2所示。

表2 Edit菜单项功能列表 1.3 Search菜单 Search菜单的主要功能是在代码编辑环境实现查找、替换和定位等功能。Search菜单中各菜单项的主要功能描述如表3所示。 表3 Search菜单项功能列表 1.4 V iew菜单

View菜单中的菜单项主要用于打开或关闭C++ Builder中的各个工具软件,比如工具管理器,对象监测器、调试窗口以及断点设置等。View菜单中各菜单项的主要功能描述如表4所示。 表4 V iew菜单项主要功能列表 1.5 Project菜单 Project菜单中的菜单项主要用于实现管理工程文件、编译、连接和创建应用程序等功能。Project菜单中各菜单项的主要功能描述如表5所示。

表5 Project菜单项主要功能列表 1.6 Run菜单 Run菜单中的菜单项主要有运行、跟踪、查看和断点设置等功能,Run菜单项的主要功能描述如表6所示。

实验四 .资源菜单、工具栏和状态栏

实验五.资源菜单、工具栏和状态栏 1.实验目的 掌握菜单资源的访问,添加和消息响应响应; 资源菜单对应加速键的添加、快捷工具栏的添加。 2.实验装置 机房 3.实验内容 1)建立win32 Application项目文件:Hello添加键盘消息处理功能,判断当前按下的键是不是A或a键,并给出相应的提示。 2)建立MFC APPwizard(.exe)项目,添加菜单资源和与菜单资源相关联的工具栏选项,设置加速键。具体步骤如下: (1)建立单文档在一级菜单中添加了“字体颜色”的菜单项,其下创建子菜单项ID_ColorRed和ID_ColorGre两个菜单项,请为其设置加速键为Ctrl+R和Ctrl+G。 并在工具栏添加其对应的快捷工具选项。 ….编辑快捷工具选项 …建立响应,双击工具图标

….添加快捷键,在资源中打开“Accelerator”的最后两栏为ID_ColorRed和ID_ColorGre两个菜单项添加加速键,并为其分别设置快捷键为Ctrl+R和Ctrl+G。 ….消息响应编辑。 3)用资源编辑器和MFC库的CMenu::TrackPopupMenu函数创建快捷菜单,即当用户按下鼠标右键时,就会相应地弹出一个浮动菜单,其中提供了几个与当前选择内容相关的选项。…因为快捷菜单是在视图区的鼠标操作,故在视图类中添加代码。 创建一个默认的单文档应用程序Ex_ContextMenu。 用MFC ClassWizard在CEx_ContextMenuView类添加WM_CONTEXTMENU消息映射,并在映 射函数中添加下列代码: void CEx_ContextMenuView::OnContextMenu(CWnd* pWnd, CPoint point) { CMainFrame* pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;// 获得主窗口指针CMenu* pSysMenu = pFrame->GetMenu(); // 获得程序窗口菜单指针 int nCount = pSysMenu->GetMenuItemCount(); // 获得顶层菜单个数 int nSubMenuPos = -1; for (int i=0; iGetMenuString(i, str, MF_BYPOSITION); if (str.Left(4) == "文件") { nSubMenuPos = i; b reak; } } if (nSubMenuPos<0) return; // 没有找到,返回 pSysMenu->GetSubMenu( nSubMenuPos) ->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this); } …在Ex_ContextMenuView.cpp文件的前面添加CMainFrame类的文件包含: #include "Ex_ContextMenuView.h" #include "MainFrm.h" …运行程序 4)MFC的CStatusBar类封装了状态栏的大部分操作,包括增减窗格、在状态栏中显示 文本、改变状态栏的风格和大小等。状态栏中的窗格可以分为信息行窗格和指示器窗格两类若在状态栏中增加一个信息行窗格,则只需在indicators数组中的适当位置中增加一个ID_SEPARATOR标识即可;若在状态栏中增加一个用户指示器窗格,则在indicators数组中的适当位置增加一个在字符串表中定义过的资源ID。 将鼠标在窗口客户区的位置显示在状态栏上 (a) 创建一个默认的单文档应用程序Ex_SDIMouse。 (b) 将项目工作区切换到ClassView页面,展开CMainFrame所有项,双击构造函 数CMainFrame,在文档窗口中出现该函数的定义,在它的前面就是状态栏数组 的定义。 (c) 将状态栏indicators数组的定义改为下列代码: static UINT indicators[] = { ID_SEPARATOR,

相关文档
最新文档