ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows 编程[14] - 菜单与菜单资源(三)

2021-04-30 14:04:24  阅读:281  来源: 互联网

标签:菜单 14 Windows MFS IDM MFT MENUITEM define


Windows 编程[14] - 菜单与菜单资源(三)

前面我们分别使用过 MENU 和 MENUEX 来指定菜单资源, 我发现用 MENU 不必注意大小写; 但 MENUEX 在使用参数时需要注意大小写! 另外, 指定相同的功能时, 它们使用的参数和格式也有很大的区别. 我想还是多了解 MENUEX 吧, 因为它的参数同时也是 Win32API 菜单函数们 需要的!

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
显示效果图:

o_84224.png

posted on 2008-04-22 11:55  万一  阅读(3115)  评论(2)  编辑  收藏

标签:菜单,14,Windows,MFS,IDM,MFT,MENUITEM,define
来源: https://blog.51cto.com/u_14617575/2746309

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有