收藏 分销(赏)

将菜单项移到窗口的最右边.doc

上传人:仙人****88 文档编号:9252676 上传时间:2025-03-18 格式:DOC 页数:5 大小:349.50KB
下载 相关 举报
将菜单项移到窗口的最右边.doc_第1页
第1页 / 共5页
将菜单项移到窗口的最右边.doc_第2页
第2页 / 共5页
将菜单项移到窗口的最右边.doc_第3页
第3页 / 共5页
将菜单项移到窗口的最右边.doc_第4页
第4页 / 共5页
将菜单项移到窗口的最右边.doc_第5页
第5页 / 共5页
本文档共5页,全文阅读请下载到手机保存,查看更方便
资源描述

1、 对于一些特殊的菜单项,如Help菜单项,放在窗口的最右边比较好。我们可以用Windows的API函数ModifyMenu来实现,它完成对已存在菜单的菜单项设置的改变。函数ModifyMenu的原型为:Bool ModifyMenu( HMENU hMnu , UINT uPosition , UINT uFlags ,UINT uIDNEWItem , LPCTSTR lpNewItem );其中hMnu :指得是要修改菜单的句柄uPosition:指得是要修改菜单的菜单项索引,其值从零开始到菜单项的总数减一uFlags:指得是新菜单项的状态和uPosition的类型uIDNewItem:指

2、得是新菜单的句柄lpNewItem:指得是修改后菜单的标题如果设置第四个参数为新菜单的句柄,程序运行时就会把菜单项改成我们重新设计的模式。用Borland C+Builder6进行讲解。1、通过File|New Application创建一个新工程2、在窗体Form1中添加MainMenu组件,通过右键弹出菜单的Menu Designer命令设计一个简单的菜单,包含两个菜单项,其Caption分别为&File和&Help.此时菜单Help的名称为Help1。3、在Form1的OnCreate事件的处理过程中添加如下代码void _fastcall TForm1:FormCreate( TObj

3、ect *Sender )ModifyMenu( MainMenu1-Handle , 1 , MF_BYPOSITION|MF_POPUP|MF_HELP, UINT(Help1-Handle ) , 帮助(&H);/菜单的其他性质int i; TMenuItem *xx; i = MainMenu1-Items-Count; Application-MessageBoxA(IntToStr( i ).c_str() , , MB_OK); xx = MainMenu1-Items-Items0; Application-MessageBoxA(xx-Caption.c_str() , ,

4、MB_OK); i = xx-Count; Application-MessageBoxA(IntToStr( i ).c_str() , , MB_OK); Application-MessageBoxA(xx-Items1-Caption.c_str() , , MB_OK); ModifyMenu( MainMenu1-Handle , 1 , MF_BYPOSITION|MF_POPUP|MF_HELP , UINT(Help1-Handle ),帮助(&H);The ModifyMenu function changes an existing menu item. This fun

5、ction is used to specify the content, appearance, and behavior of the menu item. The ModifyMenu function has been superseded by the SetMenuItemInfo function. You can still use ModifyMenu, however, if you do not need any of the extended features of SetMenuItemInfo.BOOL ModifyMenu( HMENU hMnu,/ handle

6、 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 );ParametershMnuIdentifies the menu to be changed. uPositionSpecifies the menu item to be changed, as determi

7、ned by the uFlags parameter. uFlagsSpecifies flags that control the interpretation of the uPosition parameter and the content, appearance, and behavior of the menu item. This parameter must be a combination of one of the following required values and at least one of the values listed in the followin

8、g Remarks section. ValueMeaningMF_BYCOMMANDIndicates that the uPosition parameter gives the identifier of the menu item. The MF_BYCOMMAND flag is the default if neither the MF_BYCOMMAND nor MF_BYPOSITION flag is specified.MF_BYPOSITIONIndicates that the uPosition parameter gives the zero-based relat

9、ive position of the menu item. uIDNewItemSpecifies either the identifier of the modified menu item or, if the uFlags parameter has the MF_POPUP flag set, the handle of the drop-down menu or submenu. lpNewItemPoints to the content of the changed menu item. The interpretation of this parameter depends

10、 on whether the uFlags parameter includes the MF_BITMAP, MF_OWNERDRAW, or MF_STRING flag. ValueMeaningMF_BITMAPContains a bitmap handle. MF_OWNERDRAWContains a 32-bit value supplied by an application that is used to maintain additional data related to the menu item. The value is in the itemData memb

11、er of the structure pointed to by the lparam parameter of the WM_MEASUREITEM or WM_DRAWITEM messages sent when the menu item is created or its appearance is updated. MF_STRINGContains a pointer to a null-terminated string (the default). Return ValuesIf the function succeeds, the return value is nonz

12、ero.If the function fails, the return value is zero. To get extended error information, call GetLastError. RemarksIf ModifyMenu replaces a menu item that opens a drop-down menu or submenu, the function destroys the old drop-down menu or submenu and frees the memory used by it. The application must c

13、all the DrawMenuBar function whenever a menu changes, whether or not the menu is in a displayed window. To change the attributes of existing menu items, it is much faster to use the CheckMenuItem and EnableMenuItem functions. The following list describes the flags that may be set in the uFlags param

14、eter: Value MeaningMF_BITMAP Uses a bitmap as the menu item. The lpNewItem parameter contains the handle of the bitmap. MF_BYCOMMAND Indicates that the uPosition parameter specifies the identifier of the menu item (the default). MF_BYPOSITIONIndicates that the uPosition parameter specifies the zero-

15、based relative position of the new menu item. MF_CHECKED Places a check mark next to the item. If your application provides check mark bitmaps (see the SetMenuItemBitmaps function), this flag displays a checked bitmap next to the menu item. MF_DISABLED Disables the menu item so that it cannot be sel

16、ected, but this flag does not gray it. MF_ENABLED Enables the menu item so that it can be selected and restores it from its grayed state. MF_GRAYED Disables the menu item and grays it so that it cannot be selected. MF_MENUBARBREAKFunctions the same as the MF_MENUBREAK flag for a menu bar. For a drop

17、down menu, submenu, or shortcut menu, the new column is separated from the old column by a vertical line. MF_MENUBREAK Places the item on a new line (for menu bars) or in a new column (for a drop-down menu, submenu, or shortcut menu) without separating columns. MF_OWNERDRAWSpecifies that the item i

18、s an owner-drawn item. Before the menu is displayed for the first time, the window that owns the menu receives a WM_MEASUREITEM message to retrieve the width and height of the menu item. The WM_DRAWITEM message is then sent to the window procedure of the owner window whenever the appearance of the m

19、enu item must be updated. MF_POPUPSpecifies that the menu item opens a drop-down menu or submenu. The uIDNewItem parameter specifies the handle of the drop-down menu or submenu. This flag is used to add a menu name to a menu bar or a menu item that opens a submenu to a drop-down menu, submenu, or sh

20、ortcut menu. MF_SEPARATORDraws a horizontal dividing line. This flag is used only in a drop-down menu, submenu, or shortcut menu. The line cannot be grayed, disabled, or highlighted. The lpNewItem and uIDNewItem parameters are ignored. MF_STRINGSpecifies that the menu item is a text string; the lpNe

21、wItem parameter points to the string. MF_UNCHECKEDDoes not place a check mark next to the item (the default). If your application supplies check mark bitmaps (see the SetMenuItemBitmaps function), this flag displays an unchecked bitmap next to the menu item. The following groups of flags cannot be used together: ?MF_BYCOMMAND and MF_BYPOSITION ?MF_DISABLED, MF_ENABLED, and MF_GRAYED ?MF_BITMAP, MF_STRING, MF_OWNERDRAW, and MF_SEPARATOR ?MF_MENUBARBREAK and MF_MENUBREAK ?MF_CHECKED and MF_UNCHECKED

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服