菜单的创建

/*加载资源MENU
           HMENU    hMenu = LoadMenu( (HINSTANCE)GetWindowLong( hWnd, GWL_HINSTANCE ),
                               MAKEINTRESOURCE( IDR_MENU_O25ORDERHISTPAGE ) );
           HMENU    hSubMenu = GetSubMenu( hMenu, 0 );
           */
           POINT pt;
           GetCursorPos(&pt);
           HMENU menu        = CreatePopupMenu();
           AppendMenu( menu,    MFT_STRING, IDM11,    "menu1-1");
           AppendMenu( menu,    MFT_STRING, IDM12,    "menu1-2");

           HMENU menu_sub1    = CreatePopupMenu();
           AppendMenu( menu,        MF_BYPOSITION | MF_STRING |  MF_POPUP, (UINT)menu_sub1, "menu1-3");


           AppendMenu( menu_sub1,    MFT_STRING, IDM22,    "menu2-2");

           EnableMenuItem( menu, IDM11  ,MF_BYCOMMAND | MF_ENABLED);
           EnableMenuItem( menu, IDM12  ,MF_BYCOMMAND | MF_ENABLED);
           EnableMenuItem( menu_sub1, IDM22  ,MF_BYCOMMAND | MF_GRAYED);

           HMENU menu_sub2    = CreatePopupMenu();
           MENUITEMINFO info;
           memset(&info, 0, sizeof(info));
           info.cbSize = sizeof(info);
           info.fMask = MIIM_TYPE | MIIM_ID;
           info.fType = MFT_STRING;

           info.dwTypeData = "menu3-1";
           info.cch = strlen("menu3-1");
           info.wID = IDM31;
           InsertMenuItem(menu_sub2, 0, TRUE, &info);

           info.fMask = MIIM_TYPE | MIIM_SUBMENU;
           info.dwTypeData = "menu2-1";
           info.cch = strlen("menu2-1");
           //info.wID = IDM21
           info.hSubMenu = menu_sub2;

           InsertMenuItem(menu_sub1, 0, TRUE, &info);


           TrackPopupMenu( menu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL );
           DestroyMenu( menu );
           DestroyMenu( menu_sub1 );
       }

你可能感兴趣的:(MENU的创建)