delphi有关菜单的几个技巧

delphi有关菜单的几个技巧

ID:6799213

大小:35.00 KB

页数:5页

时间:2018-01-26

delphi有关菜单的几个技巧_第1页
delphi有关菜单的几个技巧_第2页
delphi有关菜单的几个技巧_第3页
delphi有关菜单的几个技巧_第4页
delphi有关菜单的几个技巧_第5页
资源描述:

《delphi有关菜单的几个技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Delphi有关菜单的几个技巧本人在学习使用Delphi中,遇到了一些关于菜单的编程问题,其中一些比较由代表性或比较实用,先把它从笔记中整理出来,与大家分享,请多多指教。--1将菜单项移到菜单栏的最右边  在一些应用程序中,常把一些特殊的菜单项放在菜单栏的最右边(如WPS2000中的"定制界面"菜单,一些应用程序的帮助菜单),这些菜单项放在菜单栏(menubar)的右边比较好。Delphi中虽然没有直接提供把菜单放在菜单栏右边的函数,但是Delphi的Windows单元封装了可以实现这种效果的WindowsA

2、PI函数(ModifyMenu、GetMenuItemInfo)。因此,我们在Delphi中可以直接使这些函数来实现这种效果。  使用ModifyMenu和GetMenuItemInfo都可以将菜单项移到菜单栏的最右边,那么选那个较好呢?据WindowsSDK文档:ModifyMenu函数可以改变一个已经存在的菜单项的设置,这个函数用于指定一个菜单的标题、显示外观等项目,不过,ModifyMenu函数现在已经被功能更强大的SetMenuItemInfo函数取代。虽然如此,如果你的程序不需要SetMenuIte

3、mInfo函数提供的扩展功能,你仍旧可以继续使用ModifyMenu函数。  ModifyMenu函数支持Windows32、9x、NT/2000。  SetMenuItemInfo函数支持Windows9x、NT/2000,不支持windows32(较早版本也不支持NT/2000)。  另外,SetMenuItemInfo函数功能比ModifyMenu函数强大,不过使用函数SetMenuItemInfo需要的参数也比ModifyMenu函数复杂的多。所以这里我依然使用比较简单的ModifyMenu函数来实现

4、。  ModifyMenu函数原型为:  BOOLModifyMenu(    HMENUhMnu,//handleofmenu    UINTuPosition,//menuitemtomodify    UINTuFlags,//menuitemflags    UINTuIDNewItem,//menuitemidentifierorhandleofdrop-downmenuorsubmenu    LPCTSTRlpNewItem//menuitemcontent   );  第一个参数hMENU指的

5、是要修改的菜单的句柄(如:MainMenu1.Handle);  第二个参数uPosition指的是要修改的菜单项索引值(菜单栏左边第一个其值为零,从左向右递增,最大值为菜单项的总数减一);  第三个参数uFlags指的是(第二个参数所指的菜单项修改后的)新菜单项的状态;  第四个参数uIDNewItem是指向新菜单的句柄;  第五个参数lpNewItem指的是新菜单的标题。  举例如下:  创建一个带有菜单的新工程,设其MainMenu组件的名字为MainMenu1,其中要移到菜单栏的最右边的那个菜单的名字

6、为Help1。  在窗体的OnCreate时间的处理程序中加入以下代码  procedureTForm1.FormCreate(Sender:TObject);  begin   ModifyMenu(MainMenu1.Handle,2,       MF_BYPOSITIONorMF_HELP,       Help1.Handle,Pchar(Help1.Caption));      //其中:MF_HELP参数决定菜单项(Help1)在窗口的最右端显示。  end;  然后运行,看看效果如何--2定

7、制系统菜单  常见的应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个系统菜单,这个菜单一定程度上给了我们很大方便,问题是那些都是缺省的系统菜单命令,对于我们来说没有太大的帮助。当然,我们可以自己定制系统菜单,加上我们需要的东西,在Delphi中,窗体组件并没有提供系统菜单对应的组件,所以定制系统菜单时就有我们自己动手用WindowsAPI函数来实现。WindowsAPI函数中,常用于对菜单操作的函数有:  AppendMenu在现有的菜单项尾部插入一个新菜单项;  DeleteMenu删除菜单中一

8、个现有的菜单项,并清除该项;  RemoveMenu在现有的菜单项中删除某一项;  InsertMenu在现有的菜单项中插入一个新项;  ModifyMenu修改一个现有菜单项;  这些函数用法都是类似的上面已经说了ModifyMenu函数的用法,下面仅用AppendMenu函数在系统菜单中添加一个关于菜单来说明,虽然它本身是没有什么意义的,但希望可以起到抛砖引玉的作用。  AppendMenu函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。