专题十一菜单、工具栏和状态栏

合集下载

菜单工具栏状态栏

菜单工具栏状态栏
删除菜单项 调用DeleteMenu函数可将指定的菜单项删除。函数DeleteMenu
的原型如下:
BOOL DeleteMenu(UINT nPosition,UINT nFlags); 参 数: nPosition表示要删除的菜单项位置,它由nFlags进行说明。 当:Flags为MF_BYCOMMAND时,nPosition表示菜单项的ID
➢ 参 数: nIndex是表示设置的窗格索引(第1个窗格的索引为0) lpszNewText表示要显示的字符串,若bUpdate为TRUE,则系统自动
更新显示的结果。
状态栏---状态栏的常用操作
3、改变状态栏的风格
在MFC的CStatusBar类中,有2个成员函数可以改变状态栏风格,他们是: void SetPaneInfo(int nIndex,UINT nID,UINT nStyle,int cxWidth); viod SetPaneStyle(int nIndex,UINT nStyle); ➢ 参 数: nIndex表示要设置的状态栏窗格的索引 nID用于为状态栏窗格指定新的ID cxWidth表示窗格的像素宽度 nStyle表示窗格的风格类型,用于指定窗格的外观,例如:SBPS_POPOUT表示窗
lpszNewItem=NULL);
LPCTSTR
BOOL InSertMenu(UINT INT nIDNewItem,
const CBitmap *pBmp);
参 数:
nIDNewItem 表示新菜单项的资源ID号
设计菜单---菜单的编程控制
菜单、工具栏和状态栏的设计
--
设计菜单---用编辑器设计菜单
当用户使用AppWizard创建SDI或MDI应用程序时,系统将为 用户自动生成默认的菜单栏。用户需要做的工作仅仅是打开菜 单编辑器,进行必要的修改,再编写菜单选项相应的消息处理 函数即可。当然也可在菜单编辑器中创建新的菜单或创建新的 菜单资源,如快捷菜单等。无论是编辑已有菜单资源还是创建

Visual C++基础教程课件:菜单、工具栏和状态栏

Visual C++基础教程课件:菜单、工具栏和状态栏

菜单、工具栏和状态栏
switch(m_nShape) { case 0:
菜单、工具栏和状态栏
添加菜单命令处理函数可以利用类向导ClassWizard。下 面给例11.1的MyDraw添加必要的代码和菜单命令处理函数, 完成应用程序的功能。
在视图类CMyDrawView的定义中添加如下的数据成员:
protected:
int m_nShape;
COLORREF m_crColor; 在视图类CMyDrawView的构造函数中对数据成员进行初 始化:
下面以实例来说明如何利用菜单编辑器创建菜单。
菜单、工具栏和状态栏
【例11.1】 编写一个单文档界面应用程序,通过菜单 选择在视图窗口中画不同的图形和设置图形的颜色。
程序的创建过程如下: (1) 利用MFC AppWizard[exe]创建SDI应用程序,项目名 设置为MyDraw。 (2) 单击项目工作区窗口下的“ResourceView”标签,打 开资源列表。展开“Menu”,双击Menu下的 IDR_MAINFRAME即可打开菜单编辑器,如图11-2所示。
void CMyDrawView::OnDrawEllipse()
{
m_nShape=0; Invalidate(); //产生WM_PAINT消息更新视图
}
菜单、工具栏和状态栏
同样为其它菜单项添加WM_COMMAND消息处理函 数如下:
void CMyDrawView::OnDrawTriangle() {
在基于MFC框架的应用程序中,可以在任何地方处理命 令消息WM_COMMAND。实际上,框架窗口是大多数命令 消息的接收者,但命令消息可以在视图类、文档类甚至在应 用程序类中被处理,只要在该类的消息映射表中添加要处理 的消息的映射项即可。从CCmdTaret派生出来的所有类都可 以处理命令消息。

第6章 菜单、工具栏和状态栏

第6章  菜单、工具栏和状态栏

6.2.3 工具栏按钮命令消息的添加
在为工具栏按钮添加命令消息之前,需要为其指定 号 在为工具栏按钮添加命令消息之前,需要为其指定ID号,双 击按钮图片会弹出如图6.25所示的对话框,工具栏按钮的 所示的对话框, 击按钮图片会弹出如图 所示的对话框 ID号可以重新输入一个也可以在从下拉列表中选择一个 号可以重新输入一个也可以在从下拉列表中选择一个 已经存在的ID号 在这里选择ID_WELCOME_USE,这 已经存在的 号,在这里选择 , 是前面章节介绍的菜单项“欢迎使用” 是前面章节介绍的菜单项“欢迎使用”的ID号,选择该 号 ID后,在文本框【Prompt】中会自动显示“欢迎使用我 后 在文本框【 】中会自动显示“ 的菜单!”,这是该菜单项的提示信息, 的菜单 ,这是该菜单项的提示信息,当选择菜单项后该 信息会在状态栏上显示,此时, 信息会在状态栏上显示,此时,工具栏按钮已经和该菜 单项关联在一起了。 单项关联在一起了。
6.1
菜单
菜单是Windows应用程序提供给用户的最常用最全面的操作 应用程序提供给用户的最常用最全面的操作 菜单是 接口,通过菜单操作可以完成Windows应用程序提供的 接口,通过菜单操作可以完成 应用程序提供的 几乎所有工作。应用MFC应用程序向导新建的单文档和 几乎所有工作。应用 应用程序向导新建的单文档和 多文档应用程序都具有默认的菜单, 多文档应用程序都具有默认的菜单,而菜单又是由若干 菜单项和子菜单项组成。同时, 菜单项和子菜单项组成。同时,程序员也可以创建自己 的个性菜单。 的个性菜单。
6.6
小结
本章概要地介绍了菜单、工具栏和状态栏的基础知识。 本章概要地介绍了菜单、工具栏和状态栏的基础知识。包括 2类菜单的创建和显示、菜单消息的添加和路由、菜单状 类菜单的创建和显示、 类菜单的创建和显示 菜单消息的添加和路由、 态的操作等,工具栏按钮的添加和删除、 态的操作等,工具栏按钮的添加和删除、工具栏按钮的 消息响应函数与菜单项的关联,工具栏的显示等, 消息响应函数与菜单项的关联,工具栏的显示等,状态 栏的组成和使用,并对这3种基本界面元素的应用进行了 栏的组成和使用,并对这 种基本界面元素的应用进行了 简单地实例说明。 简单地实例说明。本章的重点是熟练地创建和使用菜单 工具栏和状态栏。下一章将介绍对话框和控件。 、工具栏和状态栏。下一章将介绍对话框和控件。

菜单、工具栏和状态条

菜单、工具栏和状态条
在用户对状态条进行操作时,提供及时的交互反馈,如点击、拖动 等操作的响应效果。
04
CATALOGUE
用户体验优化策略
界面简洁明了
1 2
精简菜单项
去除冗余和不常用的菜单项,保持菜单简洁。
明确工具栏按钮功能
工具栏按钮应直观易懂,避免使用模糊或容易产 生歧义的图标。
3
状态条清晰明了
状态条应准确显示当前操作状态,避免冗余和混 淆信息。
易于访问
02
03
提供足够信息
上下文菜单应出现在用户容易访 问的位置,如鼠标指针附近或选 定对象的旁边。
上下文菜单中的选项应提供足够 的信息,以便用户理解其功能并 做出选择。
02
CATALOGUE
工具栏定制
常用功能集成
文本编辑功能
包括复制、粘贴、剪切、撤销 、重做等。
文件操作功能
新建、打开、保存、另存为、 打印等。
时间日期显示
提供当前系统时间和日期 ,方便用户掌握时间信息 。
进度条与提示信息展示
任务进度条
在状态条中展示当前任务的进度条,让用户了解 任务完成情况。
提示信息
在状态条中显示相关提示信息,如新消息通知、 系统更新提示等。
自定义提示
允许用户自定义提示信息的内容和显示方式。
多任务状态管理
任务列表展示
在状态条中展示当前运行的任务列表,方便用户查看 和管理。
显示状态
工具栏的显示状态可以通过用户设置或程序控制进行更改,如显示/ 隐藏、启用/禁用等。
03
CATALOGUE
状态条信息显示
系统状态实时更新
系统资源占用情况
实时显示CPU、内存、硬 盘等资源的占用情况,帮 助用户了解系统运行状况 。

第10章 菜单、工具栏与状态栏

第10章 菜单、工具栏与状态栏

第10章菜单、工具栏与状态栏第一讲菜单、工具栏的设计教学目标1. 了解菜单的定义,种类;2. 理解的下拉式菜单、弹出式菜单创建的方法;3. 掌握工具栏的创建方法、编写事件代码。

教学过程预备知识一、菜单1.主菜单的设计1)创建菜单的方法可以使用两种方法创建主菜单:一种方法使用MainMenu类的构造函数实现主菜单的创建;一种简单的方法是通过C#中的MainMenu控件即菜单设计器实现菜单的创建。

(1) 添加主菜单新建一个Windows应用程序,在工具箱中双击MainMenu控件或者用鼠标拖放到窗体上,则在窗体的顶部将添加一个菜单。

如下左图所示。

(2) 添加子菜单在上图中,单击菜单中“请在此输入”,输入该菜单项的名称为的为“文件”,建立文件子菜单项;然后在该菜单项的下方显示一个标注为“请在此输入”区域,一个位于该菜单项的右方显示标注为“请在此输入”区域,可以选择区域继续添加。

(3) 移动菜单项选中要移动的菜单项,是用鼠标拖动到相应的位置即可。

(4) 删除菜单项选中要删除的菜单项,单击右键,再弹出式菜单中选中“删除”即可删除该菜单项。

2)MenuItem对象的属性设计3)菜单事件建立菜单后,往往要求菜单实现相应的事件处理功能,一般通过菜单项Click事件处理相应的功能,即通过单击菜单项实现程序功能的交互。

该事件在以下几种情况下发生:单击菜单项、使用该菜单项相应的快捷键、使用键盘操作时按回车键。

2.弹出式菜单的设计弹出式菜单也成为上下文菜单,弹出式菜单能以更加灵活的方式为用户提供更加便利的操作,当用户在不同位置单击鼠标右键,则将显示一组不同的菜单项。

在C#中,使用工具箱中的ContextMenu控件很容易实现弹出式菜单的设计。

方法为从工具箱中拖放一个ContextMenu控件到窗体上,设计相应的子菜单项。

弹出式菜单控件需要和别的控件结合使用。

其属性与主菜单基本相同。

3.菜单的使用【例10-1】创建一个类似于记事本菜单的窗体,如图所示。

菜单工具栏状态栏和对话框

菜单工具栏状态栏和对话框

5.2 工具栏设计
图1 ImageList控件属性页之“图像”选项卡
2. 在ToolBar控件中添加按钮 (1)ToolBar控件 ToolBar控件包含一个按钮对象集合,该对象被用来创 建与应用程序相关联的工具栏。工具栏包含一些按钮,这 些按钮与应用程序菜单中各项的按钮对应,工具栏为用户 访问应用程序的最常用功能和命令提供了图形接口。 (2)为工具栏连接按钮 右键单击Toolbar控件,选择“属性”命令打开如图2所 示的Toolbar 控件“属性页”对话框,选择“通用”选项 卡。
(6).禁止使用菜单项
在程序代码中可以通过程序代码: 菜单名.Enabled=False (7).菜单项的增减
5.1 菜单设计
4.快捷菜单使用
用VB菜单编辑器设计, 用PopupMenu方法弹出
[对象.]PopupMenu 菜单名, 标志, x, y 标志: 0:菜单项只对鼠标左键有反应。 2:菜单项对鼠标左键和右键都有反应, PopupMenu方法只能用在MouseDown事件过程。
5.2 工具栏设计
下列的ButtonClick 事件代码就用到按钮对象的Key 属性(假设在 Form1窗体上增添了通用对话框控件CommonDialog1)。 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "TNew" monDialog1.ShowNew Case "TOpen" monDialog1.ShowOpen …… End Select End Sub ButtonMenuClick 事件的语法格式类似为: Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) …… End Sub

VB 菜单、工具栏和状态栏

VB  菜单、工具栏和状态栏

菜单、工具栏和状态栏1菜单1.1菜单编辑器VB提供的菜单编辑器来设计实现。

菜单编辑器的启动方式:(1)选择“工具/菜单编辑器”命令。

(2)利用快捷键<Ctrl+E>来调用“菜单编辑器”。

1.2创建最简菜单在菜单的属性设置区域中有诸多的属性需要设置,其中,“标题”和“名称”属性是必须要设置的,其他的属性可以采用默认值,或者不进行设置。

仅设置了“标题”和“名称”属性的菜单就是最简菜单。

注意:“标题”属性和“名称”属性必须都设置,缺一不可,否则将不被菜单编辑器接受。

1.3设置菜单的快捷键和访问键快捷键是用于执行一个命令的功能键或者组合键,例如,<Ctrl+C>为复制操作。

访问键是指用户按下<Alt>键同时又按下的键。

例如,<Alt+F>用于打开“文件”菜单,这里的<F>键即为访问键。

1.4创建级联菜单在菜单编辑器中,以缩进量显示级联菜单的形式。

在菜单编辑器的菜单列表区中由内缩进符号表明菜单项所在的层次,每4个点表示一层,最多可以有5个内缩符号,最后面的菜单项为第5层。

1.5创建复选菜单通过复选菜单可以实现在菜单中执行或取消执行某项操作。

菜单的复选标记有两个作用:一是表示打开或关闭的条件状态,选取菜单命令可以交替地添加或删除复选标记;二是指示几个模式中哪个或哪几个在起作用。

1.6 设置菜单分隔条利用菜单分隔条可使功能相近的菜单放在一组,使子菜单看起来更加清晰、明了。

1.7 设置菜单无效有些菜单对于不同权限的操作用户的使用权限是不同的,如系统设置方面的菜单,只有系统管理员才能使用,当普通用户进入系统中时,这些菜单将被设置为无效。

2弹出式菜单弹出式菜单是指在窗体上单击鼠标右键之后弹出的菜单,也称为浮动菜单。

可使用PopupMenu方法显示弹出式菜单。

2.1PopupMenu方法语法:object.PopupMenu menuname, flags, x, y, boldcommand其中,object:可选参数,对象表达式,其值为Form或MDIForm;menuname:必须的参数,指出要显示的弹出式菜单名;flags:可选的参数,为一个数值或常数,用以指定弹出式菜单的位置和行为;x:可选的参数,指定显示弹出式菜单的x坐标;y:可选的参数,指定显示弹出式菜单的y坐标;boldcommand:可选的参数,指定弹出式菜单中的菜单控件的名称,用以显示其黑体正文标题。

第4章 菜单、工具栏和状态栏

第4章 菜单、工具栏和状态栏

第4章菜单、工具栏和状态栏菜单、工具栏和状态栏是Windows文档应用程序中不可缺少的界面元素,其风格和外观有时直接影响着用户对软件的评价。

许多优秀的软件(如Microsoft Office)为增加对用户的吸引力,将它们做得多姿多彩,甚至达到真三维的效果。

本章将从它们最简单的用法开始入手,逐步深入直到对其进行编程控件。

4.1 菜单像对话框一样,菜单也是一种资源模板(容器),其上可包含多级的菜单项(顶层、下拉)。

通过菜单项的选择可产生相应的命令消息,通过消息映射实现要执行的相应任务。

4.1.1 菜单一般规则为了使应用程序更容易操作,对于菜单系统的设计还应遵循下列一些规则:1若单击某菜单项后,将弹出一个对话框,那么在该菜单项文本后有“…”。

2若某项菜单有子菜单,那么在该菜单项文本后有“►”。

3若菜单项需要助记符,则用括号将带下划线的字母括起来。

助记符与Alt构成一个组合键,当按住Alt键不放,再敲击该字母时,对应的菜单项就会被选中。

若某项菜单需要快捷键的支持,则一般将其列在相应菜单项文本之后。

所谓“快捷键”是一个组合键,如Ctrl+N键,使用时是先按下Ctrl键不放,然后再按N键。

任何时候按下快捷键,相应的菜单命令都会被执行。

下图是一个菜单样例,注意它们的规则含义。

需要强调的是,在常见的菜单系统中,最上面的一层水平排列的菜单称为顶层菜单,每一个顶层菜单项可以是一个简单的菜单命令,也可以是下拉(Popup)菜单,在下拉菜单中的每一个菜单项也可是菜单命令或下拉菜单,这样一级一级下去可以构造出复杂的菜单系统。

4.1.2 更改并切换应用程序菜单前面的章节多处说明了用菜单编辑器添加和修改菜单项的过程和方法,这里进一步地说明,并为应用程序重新指定一个菜单,然后切换。

【例4.1】创建一个名为MenuDemo的单文档应用程序,演示菜单的创建及作用。

1. 创建名为MenuDemo的单文档应用程序。

2. 添加并设计菜单(1)将工作区切换到ResourceView选项卡,展开资源结点,双击资源Menu结点下的IDR_MAINFRAME项,则菜单编辑窗口出现在主界面的右边,项目MenuDemo相应的菜单资源也显示出来。

第9章-菜单、工具栏和状态栏ppt课件(全)

第9章-菜单、工具栏和状态栏ppt课件(全)
• (4)删除当前菜单项:选中某菜单,直接按 “Delete”键即可。
• (5)创建子菜单项:选中菜单执行弹出式菜单中 的“Create SubMenu”菜单。
• 菜单的属性: • (1)Caption属性和Name属性:用于设置菜单
的标题,如图9-2所示的“文件”、“新建”等。 Name属性默认值一般为n1、n2、n3等等。
• n3.Visible:=False; //“打开”菜单不显示
(3)Enabled属性:菜单是否有效。
例如:假设n1是“文件”菜单的Name属性,n3是“打开” 菜单的Name属性。
n3.Enabled:=False; // “打开”菜单无效
n1.Enabled:=False; //整个“文件”菜单无效
它的Checked属性值不断改变。 • //n3菜单不需要编写代码,每次单击n3,n3的
Checked属性值能自动改变。 • (6)RadioItem属性和GroupIndex属性:用于设
置单选菜单项,值为true时表示该菜单为单选菜单 项。如果多个菜单的RadioItem属性都是True,且 它们的GroupIndex(整型,取值范围0~255)相同, 则这些菜单项是一组单选菜单,任何时刻仅可以选 择其中一个菜单项。
richedit1.SelAttributes.Size:=20 • end;
• procedure TForm1.N19Click(Sender: TObject); • begin • if n19.Checked then
:='宋体' • end;
• 下面示例给出了Caption的一些用法,例如:
• n2.Caption :='新建'; //菜单标题是新建,n2是新建菜单 的Name属性

最新window第4章菜单、工具栏和状态栏幻灯片

最新window第4章菜单、工具栏和状态栏幻灯片
WS_VISIBLE|CBRS_TOP) ||!m_wndToolBar.LoadToolBar(IDR_TESTBAR))
IDR_TESTBAR
//引入资源
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
3 对工具条进行操作 创建完成工具条后,可调用工具条类中的成员函
4.1菜单
(3)“新建符号”(New Symbol)对话框。
在“名称”(Name)框中输入一个新的标识符 ID_NEW_MENUITEM。在“值”(Value)框中, 输入该ID的值,系统要求用户定义的ID值应大于 15(0X000F)而小于61440(0XF000)。
4.1菜单
(4)在CMainFrame::OnCreate函数中添加下列代码,该函数在框架窗口创建时自 动调用。
lpszNewItem表示新菜单项的内容,pBmp用于菜单项的位图 指针,nPosition表示新菜单项要插入的菜单项位置。nFlags 表示要增加的新菜单项的状态信息,它的值影响其他参数的 含义,如表4.3所示。
表4.3 nFlags的值及其对其他参数的影响
4.1菜单
需要注意的是: ● 当nFlags为MF_BYPOSITION时,nPosition表示
{ int bShow = m_wndTestBar.IsWindowVisible();
UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
BOOL InsertMenu( UINT nPosition, UINT nFlags,
UINT nIDNewItem, const CBitmap* pBmp ); 其中,nIDNewItem表示新菜单项的资源ID标识符,

4、菜单工具栏与状态栏

4、菜单工具栏与状态栏

第 4 章菜单、工具栏与状态栏4.1 菜单4.2 工具栏4.3 状态栏4.4 应用实例内容:1 什么是主菜单、弹出菜单、快捷菜单2 如何编辑菜单项目3 如何建立菜单项的消息映射4 说明是菜单项的“命令消息”,“更新消息”5 “更新消息”映射中有哪些函数可以用来修改菜单属性6 菜单编程的流程是什么?7 什么是工具条8 如何编辑工具条按钮9 如何建立工具按钮的消息映射10 进行工具条编程的步骤是什么11 什么是状态栏12 如何增加状态栏窗格13 如何在状态栏窗格中显示文字信息4.1 菜单菜单是窗口组件之一,为用户提供一种功能选项,用户操作菜单,使程序执行一项功能。

4.1.1 菜单的类型常见菜单有3种:主菜单、弹出菜单和快捷菜单。

1.主菜单指出现在应用程序主窗口或最上层窗口的菜单。

通常对应有一个弹出菜单作为它的子菜单。

2.弹出菜单指选择主菜单或一个菜单项时弹出的子菜单。

3.快捷菜单当右击某个界面对象时,通常会弹出快捷菜单,它出现在鼠标箭头的位置,快速展示当前对象可用的命令功能。

菜单设计一般需要经过下面两步:(1) 使用菜单编辑器编辑菜单资源;(2) 使用ClassWizard进行消息映射,编辑成员函数,完成菜单所要实现的功能。

注意:在单文档程序模板(SDI)中,不能增加菜单资源,只能对已经有的菜单资源进行编辑修改4.1.2 编辑菜单使用菜单编辑器来编辑菜单资源。

双击ResourceView 视图中的Menu菜单资源,打开菜单编辑器。

1.插入新菜单项在当前空白菜单项位置插入选定窗口中的空白菜单项后按回车键(或双击空白菜单项),系统弹出菜单属性对话框。

在某菜单项前插入2.属性对话框的设置用于输入菜单项的标识符(ID)、标题(Caption)和菜单项在状态栏上显示的提示(Prompt)信息等。

3.调整菜单项位置选中某菜单项将其拖至适当位置。

4.删除菜单项用鼠标单击菜单项或用上、下、左、右光标键选择菜单项,然后单击Cut按钮或按Del键删除。

第10章菜单、工具栏和状态栏

第10章菜单、工具栏和状态栏
17
10.1.2 弹出菜单
弹出菜单是独立于菜单栏的浮动菜单,其在窗体上的显示位置由 单击鼠标时指针的位置决定。 在VB中,使用PopupMenu方法来显示弹出菜单。PopupMenu方 法的语法为: [对象.] PopupMenu 菜单名,标志,x,y
表10-3用于“标志 ” 的设置值
常数位置 vbPopupMenuLeftAlign vbPopupMenuCenterAlign vbPopupMenuRightAlign 常数行为 vbPopupMenuLeftButton
(3)菜单项标记 菜单项标记就是在菜单项左边加上标记 表明该菜单项处于选择状
态。设计时该属性可以由菜单编辑器中的“复选”(Checked)属 性设置,也可以在属性窗口的“Checked”栏内设置。通常情况下, 该属性时在程序运行时动态地进行设置的。
7
4. 快捷键和访问键
❖ 访问键是标题中带下划线的字符,如在标题中输入 “文件(&F)”,则在程序运行时F便是带下划线的字 符,按Alt+F组合键便可以打开“文件”菜单。需要 指出的是,菜单中不能使用重复的访问键。如果多个 菜单项使用同一个访问键,那么该键将不起作用。
End If
If menucounter > 0 Then 时,“清除”菜单项有效
' 当“MdocuName”菜单项不为空
Clear.Enabled = True
Else
Clear.Enabled = False
15
图10-5为“MdocuName”菜单项为空的情况(即没有一个 文件打开),图10-6为打开了四个文件后的情况。
vbPopupMenuRightButton

描述

第2章 菜单、工具栏和状态栏的设计

第2章 菜单、工具栏和状态栏的设计

第2章菜单、工具栏和状态栏的设计在Windows应用程序中,菜单、工具栏、状态栏等内容都是不可缺少的界面元素。

菜单是一系列可视的命令列表,用户能够选中其中的菜单项(命令)并执行相应任务。

工具栏提供图形按钮,实现快捷操作,用户可以通过工具栏执行最常用的命令,增强方便程度。

在状态栏中,可以显示动态的提示信息,便于用户的一些操作。

2.1 设计菜单菜单为用户控制程序提供了一套分级选项,无论是标准菜单及命令,还是热键或弹出式菜单,以及为菜单或其命令定义加速键和状态条提示,都可用菜单编辑器来完成;除此之外,菜单项作为一个普通的对象也可在编辑时进行移动、复制、删除等操作。

图2.1是一个典型的菜单实例,图中包含了标准菜单命令、快捷键、加速键、子菜单、核对符等。

这些都是编写程序时经常遇到的。

下面我们就介绍如何创建和编辑菜单项。

图2.1 典型菜单实例2.1.1 用编辑器设计菜单当用户使用AppWizard创建SDI或MDI应用程序时,系统将为用户自动生成默认的菜单栏。

用户需要做的工作仅仅是打开菜单编辑器,进行必要的修改,再编写菜单选项相应的消息处理函数即可。

当然也可在菜单编辑器中创建新的菜单或创建新的菜单资源,如快捷菜单等。

无论是编辑已有菜单资源还是创建新的菜单资源,首先应当进入菜单资源编辑器。

例2.1 在菜单编辑器的”文件(F)”下拉的某个位置加一个菜单,其作用是单击它后,能在屏幕上显示一行字。

编程步骤如下:(1)建一个SDI单文档应用程序名为:显示一行字(2)用编辑器设计菜单:项目工作区ResourceView→单击打开Menu →双击IDR_MAINFRAME→右面出现菜单编辑器,见图2.1.1→单击“文件(F)”出现下拉菜单,见图2.1.2所示→点中最后的空白菜单,双击它→出现“菜单项属性对话框”→在Caption处写菜单名:“显示一行字(&C)” →在ID处写ID_FILE_XS→在prompt(注释)栏中写:“点击新建菜单项,在窗口显示一行字”→关闭该对话框。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

13.1 菜单的应用
13.1.4 下拉菜单
2. 编辑、删除菜单成员 编辑、 如果要移动一个菜单项,可单击 如果要移动一个菜单项, 该菜单项并用鼠标将其它拖到一个新位 置即可。如果要删除一个菜单项, 置即可。如果要删除一个菜单项,可用 鼠标右键单击要删除的菜单项, 鼠标右键单击要删除的菜单项,在弹出 的快捷菜单中执行“删除”命令。 的快捷菜单中执行“删除”命令。或在 选中菜单项后按键盘上的〈Delete〉 选中菜单项后按键盘上的〈Delete〉键。 如果要编辑一个菜单项, 如果要编辑一个菜单项,可以直接单击 需要修改的地方,进入编辑状态, 需要修改的地方,进入编辑状态,而后 添加、删除或修改文字即可。 添加、删除或修改文字即可。也可以在 选中菜单项后通过图10 10选中菜单项后通过图10-7所示的属性窗 修改相应的属性值。例如, 口,修改相应的属性值。例如,修改 Text属性可以改变菜单的名称显示 属性可以改变菜单的名称显示。 Text属性可以改变菜单的名称显示。
2. 快捷菜单应用实例
例13-2 13-
13.2 工具栏
13.2.1 工具栏控件(ToolStrip) 工具栏控件(ToolStrip)
1. ToolStrip控件的常用属性 ToolStrip Strip控件的常用属性
13.2 工具栏
13.2.1 工具栏控件(Toolstrip) 工具栏控件(Toolstrip)
13.1 菜单的应用
13.1.4 下拉菜单
3. 实现菜单功能 程序员可以通过编写菜单项单击(Click) 程序员可以通过编写菜单项单击(Click)事件代码来实现希望的菜单 功能。例如在菜单设计器中直接双击本例的“打开”菜单项即可进入图10 10功能。例如在菜单设计器中直接双击本例的“打开”菜单项即可进入图10-8所 示的代码窗口,程序员只需在事件过程中填入适当的代码即可。 10示的代码窗口,程序员只需在事件过程中填入适当的代码即可。例10-1
13.2.2 工具栏控件应用实例 例13-3 13-
13.3 状态栏
13.3.1 状态栏控件(Statusstrip) 状态栏控件(Statusstrip)
1. Statusstrip控件的常用属性 Statusstrip strip控件的常用属性
13.3 状栏
13.3.1 状态栏控件(Statusstrip) 状态栏控件(Statusstrip)
13.1 菜单的应用
13.1.5 快捷菜单
1. 创建快捷菜单 首先从工具箱中选取 ContextMenustrip控件并添加到窗 ContextMenustrip控件并添加到窗 体上,即为该窗体创建了快捷菜单。 体上,即为该窗体创建了快捷菜单。 单击窗体设计器下方窗格中的 ContextMenustrip控件 ContextMenustrip控件,窗体上显 控件, 示提示文本“请在此处输入” 示提示文本“请在此处输入”。单 击此文本, 击此文本,然后键入所需菜单项的 名称。 名称。 若要添加另一个菜单项,可单 若要添加另一个菜单项, 击菜单设计器内的另一个“ 击菜单设计器内的另一个“请在此 处输入”区域。 处输入”区域。单击当前菜单项右 侧的区域,以添加子菜单项。 侧的区域,以添加子菜单项。或单 击当前菜单项下方的区域, 击当前菜单项下方的区域,以添加 另一个菜单项,如图10 所示。 10另一个菜单项,如图10-2所示。
专题十三 菜单、工具栏和状态栏 菜单、
讲述的主要内容
13.1 菜单的应用 13.2 工具栏 13.3 状态栏
13.1 菜单的应用
13.1.1 菜单的分类
下拉菜单 快捷菜单(右键菜单、弹出菜单、上下文菜单) 快捷菜单(右键菜单、弹出菜单、上下文菜单)
13. 13.1.2
菜单的组成
13.1 菜单的应用
13.3 状态栏
13.3.2 状态栏控件应用实例
例13-4 13-
练习13-1 练习 练习13-2 练习
13.1.3 设计菜单的推荐做法
不论是下拉菜单还是快捷菜单,它们的目的都是为了让应用程序 不论是下拉菜单还是快捷菜单, 更加直观、易用。设计应用程序的菜单时推荐使用以下推荐做法。 更加直观、易用。设计应用程序的菜单时推荐使用以下推荐做法。 ① 命名菜单时,大写单词首字母。例如,File,Edit等。 命名菜单时,大写单词首字母。例如,File,Edit等 ② 给每个菜单项分配唯一的快捷键。例如,Windows中通常使用 给每个菜单项分配唯一的快捷键。例如,Windows中通常使用 Alt〉 打开“文件菜单。 〈Alt〉+〈F〉打开“文件菜单。 ③ 创建菜单时,命名规则要保持一致。例如,在应用程序中,通 创建菜单时,命名规则要保持一致。例如,在应用程序中, 常将文件菜单项、编辑菜单项等命名为文件(File)、编辑(Edit) )、编辑 常将文件菜单项、编辑菜单项等命名为文件(File)、编辑(Edit) 等。 ④ 如果某个菜单命令需要用户通过对话框输入更多的信息,则在 如果某个菜单命令需要用户通过对话框输入更多的信息, 菜单项后使用省略号;如果菜单项包含有下级子菜单, 菜单项后使用省略号;如果菜单项包含有下级子菜单,则在菜单项后 使用“ 标记。如图10 中的“自定义” 10缩放”菜单项。 使用“►”标记。如图10-3中的“自定义”和“缩放”菜单项。
2. ToolstripButton集合编辑器 ToolstripButton集合编辑器
13.2 工具栏
13.2.1 工具栏控件(ToolStrip) 工具栏控件(ToolStrip)
3. Toolstrip控件的常用方法和事件 工具栏控件最常用的事件是Click事件, Click事件过程中通常使用 工具栏控件最常用的事件是Click事件,在Click事件过程中通常使用 Click事件 Buttons.IndexOf方法判断用户单击了工具栏中哪个按钮 方法判断用户单击了工具栏中哪个按钮, Buttons.IndexOf方法判断用户单击了工具栏中哪个按钮,该方法返回被单击 按钮的索引值。 按钮的索引值。 例如: 例如: If Toolstrip1. Buttons.IndexOf(e.Button) = 0 Then MsgBox("你单击了第一个按钮 MsgBox("你单击了第一个按钮") 你单击了第一个按钮") End If
13.1 菜单的应用
13.1.4 下拉菜单
1. 创建下拉菜单
在中程序员可使用Menustrip控件创建应用程序的菜单。该控件 中程序员可使用 控件创建应用程序的菜单。 在工具箱中的图标为,双击该图标可将其添加到当前应用程序中,由于控件 在工具箱中的图标为,双击该图标可将其添加到当前应用程序中, 本身在程序运行时并不直接显示,故与其他同类控件一样出现在窗体设计器 本身在程序运行时并不直接显示, 窗口的下方窗格中。 控件加入应用程序并选中该控件后, 窗口的下方窗格中。将Menustrip控件加入应用程序并选中该控件后,在窗 创建的菜单设计器及“请在此处输入” 体的最上方将出现由Menustrip创建的菜单设计器及“请在此处输入”的操 作提示。 作提示。
2. Statusstriplabel集合编辑器 Statusstriplabel striplabel集合编辑器
13.3 状态栏
13.3.1 状态栏控件(Statusstrip) 状态栏控件(Statusstrip)
3. 状态栏常用方法和事件 状态栏最常用的事件为labelClick 状态栏最常用的事件为labelClick,该事件在用户单击状态栏中某窗格 labelClick, 时触发。若要通过对Statusstrip控件进行编程来响应用户的单击操作, Statusstrip控件进行编程来响应用户的单击操作 时触发。若要通过对Statusstrip控件进行编程来响应用户的单击操作,可使 labelClick事件中的 事件中的Select Case语句 语句。 用labelClick事件中的Select Case语句。事件处理程序接收一个 StatusBarlabelClickEventArgs类型的参数 它包含与此事件相关的数据。 类型的参数, StatusBarlabelClickEventArgs类型的参数,它包含与此事件相关的数据。 StatusBarlabelClickEventArgs属性提供的关于此事件的信息见表 属性提供的关于此事件的信息见表。 StatusBarlabelClickEventArgs属性提供的关于此事件的信息见表。
相关文档
最新文档