使用菜单

一:创建菜单  

在Windows中使用菜单都是以关键字POPUP开头,POPUP指出了一个菜单可以使用如下的ASCII名称和菜单项来定义。弹出式菜单定义必须放在{}或BEGIN、END块中。

例如:

MainMenu MENU DISCARDABLE

  {

    POPUP "FIle"
      {

        MENUITEM "Open",MENU_FILE_ID_OPEN
        MENUITEM "Close",MENU_FILE_ID_CLOSE
        MENUITEM "Save",MENU_FILE_ID_SAVE
        MENUITEM "Exit",MENU_FILE_ID_EXIT
      }
    POPUP "Help"
      {

        MENUITEM "About",MENU_HLP_ABOUT
      }
  }

  这里定义菜单名为MainMenu

 

  菜单的定义块中,定义一个菜单项的语法是:MENUITEM "name",MENU_ID

  MENUITEM是关键字。

  当然还需要在resource.h添加MENU_ID的定义,如:

  #define MENU_FILE_ID_OPEN  1000

  #define MENU_FILE_ID_CLOSE  1001

  #define MENU_FILE_ID_SAVE  1002

  #define MENU_FILE_ID_EXIT   1003

  #define MENU_HELP_ABOUT    2000

 

二、装载菜单

WNDCLASSEX winclass;

winclass.lpszMenuName=MAKEINTRESOURCE(MainMenu);    //这里的MainMenu就是之前定义的菜单名

 

三、响应菜单事件消息

这是窗口菜单选择消息流

以下是消息处理程序

LPESULT CALLBACK WindowProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam){

  switch(msg){

    //-----
    case WM_COMMAND:
    {

      switch(LOWORD(wparam)){          //从wparam中提取低位的WORD

        case MENU_FILE_ID_OPEN:
          //do something
          break;
        case MENU_FILE_ID_CLOSE:
          //do something
          break;
        case MENU_FILE_ID_EXIT:
          //do something
          break;
      }
    }
    //-----
  }

}

  

 

转载于:https://www.cnblogs.com/zjzsky/p/3403911.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值