回 帖 发 新 帖 刷新版面

主题:[原创]我学c++Builder系列(2)

二  C++ Builder中的菜单
菜单是大多数Windows程序的重要部分,有些Windows程序没有菜单,但大多数Windows程序都有。C++ Builder的菜单设计器使菜单设计非常方便。菜单设计器特性如下:

可以生成主菜单和弹出菜单。

可以立即访问代码编辑器,处理菜单项目的OnClick事件。

可以从模板或资源文件中插入菜单。

可以将自定义菜单存为模板。

菜单设计器的所有命令都可以通过菜单设计器弹出菜单或对象检查器访问。

在窗体中加进主菜单:

1. 先要在窗体中加进MainMenu构件,并将其Name属性变为MainMenu,注意MainMenu构件有几个属性,但没有事件,菜单的各个工作都在各个菜单项目中完成。

       2. 双击MainMenu图标打开菜单设计器。

       3. 从模板插入菜单。在菜单设计器中单击右键选择弹出菜单中的Insert From TempLate(从模版插入),Insert Template对话框显示了一列可以选择的模板,你可以选择自己需要的模版。这里我们要加进Edit菜单,所以选择Edit Menu并单击OK,菜单设计器中立即加进了整个Edit菜单。

       4.加进Help菜单。单击Edit菜单右边的空白弹出菜单占位符,再次选择Insert From TempLate并插入Help菜单(但别选择ExpandedHelp Menu)。注意新菜单项目加入时,主窗体更新显示。

       删除菜单项目:

       生成Windows应用程序的过程是活的,很难一次性到位,而经常会出现需要更新菜单的情形。例如,前面插入的Edit菜单太长,其中有几个用不上的项目,所以要将其删除: 

1.单击Edit菜单。

2.单击Repeat<command>项目。

3.按键盘上的Delete或选择菜单设计器弹出菜单中的Delete将其删除,这个项目即消失。

4.同法删除Paste Special菜单项目。

菜单设计器也支持Shift+单击Ctrl+单击方法,类似删除文件,可以一次性删除多个菜单项目。

插入菜单项目:

插入菜单项目很简单。只要单击要插入菜单项目的位置后面一个项目,并按键盘上的Insert键或选择菜单设计器弹出菜单中的Insert,即可插入空白菜单项目,然后可以修改其Name和Caption属性。下面在Edit菜单中插入一个项目。

1.单击Edit打开Edit菜单。

2.单击Find菜单项目。

3.按键盘上的Insert键插入新的空菜单项目。

4.将Name属性变为EditSelectAll,Caption属性变为Select &All。

5.单击Edit菜单底部的空占位符,加入分隔条(即在Caption属性中输入连字符)。

6.再次单击该占位符并加入新项目,将Name属性变为EditWordWrap,Caption属性变为&Word Wrap。

移动菜单项目:

移动菜单项目的方法有两种。第一种是用Cut和Paste,无需多解释;另一种是利用拖放法,下例要将Select All项目放在Undo项目下面:

1.单击Edit打开Edit菜单。

2.单击Select All项目并拖动,直到加亮Undo项目下面的分隔条。

3.放开鼠标,万事大吉。

加入快捷键:

要在菜单项目中加入快捷键,只要在对象检查器中改变其Shortcut属性。前面插入的Edit菜单有内置的键盘快捷键。例如,Cut的快捷键为Ctrl+x,从Edit菜单可以看出,Ctrl+x已列在Cut项目旁边。单击Cut项目,可以看到其Shortcut属性为Ctrl+x,单击Shortcut属性旁边的Value列,在Value列右边可以看到下拉按钮,单击这个按钮可以打开一列快捷键,包括所要的各种键盘快捷键。为了生成菜单项目的键盘快捷键,只要选取表中的快捷键。

Select All的标准键盘快捷键为Ctrl+A,下面加进这个键盘快捷键如下:

1.       选择菜单设计器菜单中的Edit|Select All。

2.       单击对象检查器中的Shortcut属性。

3.       从表中选择Ctrl+A,这样Select All旁边就会显示Ctrl+A。

其它工作就可以让C++ Builder去负责了。快捷键功能不需要你写入任何代码。

最后修饰:

下面最后修饰一下我们的菜单,改变从模板插入的所有菜单项目的Name属性。这些项目有缺省名,我们要改成更有意义的名称。单击Edit|Undo菜单项目。将Name属性Undo1变为EditUndo。注意我们在菜单项目名前面加了弹出菜单名Edit,后面删除了数字1。

你可以用其它命名规则,但必须保持一致性。对Cut、Copy、Paste、Find和Replace菜单项目重复这个过程。然后转到Help菜单中,将Contents项目的Name属性变为HelpContents,将About项目的Name属性变为HelpAbout。

这样就完成了菜单,可以一一进行检查,并修改出现的错误。完全满意后,单击关闭框关闭菜单设计器。

示例图片:

[img]http://www.cppblog.com/images/cppblog_com/goal00001111/4595/r_%e6%9c%aa%e5%91%bd%e5%90%8d.bmp[/img]

回复列表 (共2个回复)

沙发

你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ909065437

板凳

这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网拿6000元出局。
B网就多了。
C易特元亨QQ919169870
奖励制度 
C易特更多资料C易特元亨QQ919169870
http://blog.sina.com.cn/cyite6
C易特奖励制度
http://blog.sina.com.cn/s/blog_6b2561440100l5r8.html

我来回复

您尚未登录,请登录后再回复。点此登录或注册