菜单的几个技巧.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜单的几个技巧

菜单的几个技巧 菜单的几个技巧 -- 1 将菜单项移到菜单栏的最右边   在一些应用程序中,常把一些特殊的菜单项放在菜单栏的最右边(如WPS2000 中的定制界面菜单,一些应用程序的帮助菜单),这些菜单项放在菜单(menu bar)的右边比较好。 Delphi中虽然没有直接提供(呵呵,也许是我没找 到)把菜单放在菜单栏右边的函数,但是Delphi的Windows单元封装了可以实现这 种效果的Windows API函数(ModifyMenu、GetMenuItemInfo)。因此,我们在 Delphi中可以直接使这些函数来实现这种效果。   使用ModifyMenu和GetMenuItemInfo都可以将菜单项移到菜单栏的最右边,那 么选那个较好呢?据 Windows SDK 文档:   ModifyMenu函数可以改变一个已经存在的菜单项的设置,这个函数用于指定 一个菜单的标题、显示外观等项目,不过,ModifyMenu函数现在已经被功能更强 大的SetMenuItemInfo函数取代。虽然如此,如果你的??序不需要 SetMenuItemInfo函数提供的扩展功能,你仍旧可以继续使用ModifyMenu函数。   ModifyMenu函数支持 Windows 32、9x、NT/2000。   SetMenuItemInfo函数支持 Windows 9x、NT/2000,不支持windows 32(较早 版本也不支持NT/2000)。   另外,SetMenuItemInfo函数功能比ModifyMenu函数强大,不过使用函数 SetMenuItemInfo需要的参数也比ModifyMenu函数复杂的多。所以这里我依然使用 比较简单的ModifyMenu函数来实现。   ModifyMenu函数原型为:   BOOL ModifyMenu(     HMENU hMnu, // handle of menu     UINT uPosition, // menu item to modify     UINT uFlags, // menu item flags     UINT uIDNewItem, // menu item identifier or handle of drop-down menu or submenu     LPCTSTR lpNewItem // menu item content     );   第一个参数hMENU 指的是要修改的菜单的句柄(如:MainMenu1.Handle);   第二个参数uPosition 指的是要修改的菜单项索引值(菜单栏左边第一个其 值为零,从左向右递增,最大值为菜单项的总数减一);   第三个参数uFlags指的是(第二个参数所指的菜单项修改后的)新菜单项的 状态;   第四个参数uIDNewItem 是指向新菜单的句柄;   第五个参数lpNewItem指的是新菜单的标题。   举例如下:   创建一个带有菜单的新工程,设其MainMenu组件的名字为MainMenu1,其中要 移到菜单栏的最右边的那个菜单的名字为Help1。   在窗体的OnCreate时间的处理程序中加入以下代码   procedure TForm1.FormCreate(Sender: TObject);   begin    ModifyMenu(MainMenu1.Handle,2,        MF_BYPOSITION or MF_HELP,        Help1.Handle,Pchar(Help1.Caption));       //其中:MF_HELP 参数决定菜单项(Help1)在窗口的最右端显示。   end;   然后运行,看看效果如何 -- 2 定制系统菜单   常见的应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个 系统菜单,这个菜单一定程度上给了我们很大方便,问题是那些都是缺省的系统 菜单命令,对于我们来说没有太大的帮助。当然,我们可以自己定制系统菜单, 加上我们需要的东西,在Delphi 中,窗体组件并没有提供系统菜单对应的组件, 所以定制系统菜单时就有我们自己动手用Windows API函数来实现。Windows API 函数中,常用于对菜单操作的函数有:   AppendMenu 在现有的菜单项尾部插入一个新菜单项;   DeleteMenu 删除菜单中一个现有的菜单项,并清除该项;   RemoveMenu 在现有的菜单项中删除某一项;   InsertMenu 在现有的菜单项中插入一个新项;   ModifyMenu 修改一个现有菜单项;   这些函数用法都是类似的上面已经说了ModifyMenu函数的用法,下面仅用 App

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档