Windows 编程[14] - 菜单与菜单资源(三)
2008-04-22 11:55
363 查看
前面我们分别使用过 MENU 和 MENUEX 来指定菜单资源, 我发现用 MENU 不必注意大小写; 但 MENUEX 在使用参数时需要注意大小写! 另外, 指定相同的功能时, 它们使用的参数和格式也有很大的区别. 我想还是多了解 MENUEX 吧, 因为它的参数同时也是 Win32API 菜单函数们 需要的!
MENUEX 有四个参数, 分别是: 菜单文本, 菜单标识(整数), 菜单格式(常数: MFT_*), 菜单样式(常数: MFS_*).
后两个参数都有系统预定义的常量, 列表如下:
以上同类参数可以通过 "或" 运算来同时指定功能, 当然这里不能使用 Delphi 的 "or", 是用 C/C++ 的 "|" 运算符. 再举个例子:
显示效果图:
MENUEX 有四个参数, 分别是: 菜单文本, 菜单标识(整数), 菜单格式(常数: MFT_*), 菜单样式(常数: MFS_*).
后两个参数都有系统预定义的常量, 列表如下:
MFT_STRING = 0; {菜单项是字符串} MFT_BITMAP = 4; {菜单项用一个图片来代替(暂没测试)} MFT_MENUBARBREAK = $20; {换列并有分列线} MFT_MENUBREAK = $40; {换列} MFT_OWNERDRAW = $100; {指定为物主菜单; 通过 WM_DRAWITEM 消息的申请可以绘制更复杂的菜单} MFT_RADIOCHECK = $200; {圆点代替 √ 来表示选择 MFT_SEPARATOR = $800; {指定为分割线, 会忽略前面指定的菜单文本} MFT_RIGHTORDER = $2000; {右对齐} MFT_RIGHTJUSTIFY = $4000; {显示在右边(帮助位置)} MFS_GRAYED = 3; {禁止使用, 灰度显示} MFS_DISABLED = MFS_GRAYED; {同上} MFS_CHECKED = 8; {选择} MFS_HILITE = $80; {反色凸现} MFS_ENABLED = 0; {不禁止, 这是默认的, 一般用于程序中对禁止的反操作} MFS_UNCHECKED = 0; {不选择} MFS_UNHILITE = 0; {不反色} MFS_DEFAULT = $1000; {指定为缺省, 应该类似与缺省按钮(还没试过), 会加粗显示菜单文本}
以上同类参数可以通过 "或" 运算来同时指定功能, 当然这里不能使用 Delphi 的 "or", 是用 C/C++ 的 "|" 运算符. 再举个例子:
#define IDM_New 101 #define IDM_Open 102 #define IDM_Save 103 #define IDM_Exit 104 #define IDM_Cut 201 #define IDM_Copy 202 #define IDM_Paste 203 #define IDM_About 301 MYMENU1 MENUEX BEGIN POPUP "&File" ,65535 BEGIN MENUITEM "&New" ,IDM_New ,MFT_STRING | MFT_RIGHTORDER ,MFS_DEFAULT | MFS_CHECKED | MFS_GRAYED MENUITEM "&Open" ,IDM_Open ,MFT_STRING, MFS_HILITE MENUITEM "&Save" ,IDM_Save MENUITEM SEPARATOR MENUITEM "E&xit" ,IDM_Exit END POPUP "&Edit" ,65535 BEGIN MENUITEM "Cu&t" ,IDM_Cut MENUITEM "&Copy" ,IDM_Copy MENUITEM "&Paste" ,IDM_Paste END POPUP "&Help" ,65535 BEGIN MENUITEM "&About" ,IDM_About END END
显示效果图:
相关文章推荐
- Windows 编程[12] - 菜单与菜单资源(一)
- Windows 编程[13] - 菜单与菜单资源(二)
- (C#)Windows Shell 外壳编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单
- 【转】Android编程点滴(14) -- Android中资源文件夹res/raw和assets的使用
- Windows编程基础--第10节 MFC菜单
- (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令
- Windows编程基础 第五章 鼠标消息 定时器 菜单
- windows菜单及其它资源---Win32
- Windows 编程[23] - 快捷键资源
- (C#)Windows Shell 外壳编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单
- (C#)Windows Shell 编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令
- (C#)Windows Shell 外壳编程系列7 - ContextMenu 注册文件右键菜单
- MFC学习笔记之四————菜单编程与windows消息分类
- windows编程:资源和播放声音
- C++MFC编程笔记day02 MFC消息映射机制、菜单资源使用
- 1、VS2005(c/c++)外壳扩展编程之windows右键菜单(1)
- Windows 核心编程之14 探索虚拟内存
- Windows外壳扩展编程之添加右键菜单
- Windows编程 基本资源的使用 如何在窗口中输出一些简单的文本
- (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令