1.定义菜单

  menuID MENU[,载入特性选项]

 {

  菜单项列表

}

 menuID:标识特定菜单,应用程序通过菜单资源名加载指定菜单,可以为串,或1-65535之间的整数。

MENU关键字:表示资源的性质

载入特性选项:表示菜单所有的载入特性

选项  
DISCARDABLE 当不再需要菜单时可以从内存中卸掉
FIXED 将菜单保存在内存中的固定位置
LOADONCALL 需要时加载菜单
MOVEABLE 菜单在内存中可移动
PRELOAD 立即加载菜单

菜单项:在资源文件中永关键字POPUP和MENUITEM定义菜单项

           POPUP语句:

               定义弹出式菜单

               POPUP"菜单名"[,选项];

                可以在菜单名中加入符号"&",以定义该菜单项的热键。POPUP"编辑(&E)"; (热键:ALT+E)

           MENUITEM语句

                定义菜单项

                MENUITEM“菜单名”菜单项标识(ID)[,选项]

               WM_COMMAND消息的字参数wParam中包含选中菜单项的标识。

操作菜单项

       禁止或激活菜单项

       BOOL EnableMenuItem(HMENU hmenu,UINT wIDEnableItem,UINT dwEnable)

       wIDEnableItem:为被禁止或激活的菜单项标识,根据dwEnable的取值,可能为该菜单项的ID值

       也可能为该菜单项在菜单中的位置。

      dwEnable标识

MF_BYCOMMAND 表明以ID值标识菜单项
MF_BYPOSITION 表明以位置标识菜单项
MF_DISABLED 禁止菜单项
MF_ENABLED 激活菜单项
MF_GRAYED 禁止菜单项并使其变灰显示

 

         增加菜单项

           BOOL AppendMenu(HMENU hmenu,UINT dwFlags,UINT dwIDnewItem,LPCTSTR lpNewItem)

          删除菜单项

         BOOL DeleteMenu(HMENU hmenu,UINT wPosition,UINT dwFlag)

          修改菜单项

          BOOL ModifyMenu(HMENU hmenu,UINT wPosition,UINT dwFlag,PTR dwIDNewItem,LPCTSTR lpNewItem)

 

 

 
//定义菜单ID
#define IDS_APP_TITLE            103
#define IDC_MY            109
#define INM_ADDMENU 15             //增加菜单项的ID
#define IDM_DELMENU 16             //删除菜单项的ID
#define IDM_EXIT    17             //退出菜单项的ID
#define IDM_HELP    22             //帮助菜单的ID
#define IDM_qiuhe   23             //求和菜单的ID 
#define IDM_fangcha 24             //方差菜单的ID
#define IDM_pingjunzhi  25         //平均值菜单的ID
#define IDM_junfanggen   26         //均方根菜单的ID
View Code

2.加载菜单

    在窗口类中加载菜单

          WNDCLASSEX wndclass;

          wndclass.;pszMenuName=MAKEINTRESOURCE(My_namu);

          应用程序在窗口类中加载菜单后,该类窗口将使用此菜单作为默认菜单。

    在创建窗口时加载菜单

           在调用CreateWindow创建窗口时加载窗口菜单。应用程序首先调用LoadMenu加载菜单。

          HMENU LoadMenu

          {

              hInstance,             //hInstance为当前程序的实例句柄

             lpszMenuName        //窗口菜单名

           }

    动态加载菜单

            应用程序调用函数LoadMenu获取菜单句柄后,还可通过调用函数SetMenu动态地加载菜单,

            以提高应用程序的灵活性。

           BOOLSetMenu

          {

              HWND hwnd,      //窗口句柄

             HMENU hmenu    //菜单句柄

          }

3.操作菜单项

          禁止或激活菜单项

                  通过在资源文件中设定菜单项的选项,以指定该菜单项的初始状态为禁止或激活,

                  或调用

  

  

          

 

posted on 2018-11-12 11:23  zuoyou  阅读(320)  评论(0编辑  收藏  举报