#include "qmenu_wince_resource_p.h"

#include <commctrl.h>
#include "winuser.h"

#if defined (_DEBUG) && defined(QT_DLL)
#include "QtGuid_resource.rc"
#elif defined(QT_DLL)
#include "QtGui_resource.rc"
#endif

#define DIALOGEX        DIALOG DISCARDABLE
#define SHMENUBAR       RCDATA
#define I_IMAGENONE     (-2)
#define NOMENU          0xFFFF

IDR_MAIN_MENU MENU DISCARDABLE 
BEGIN
    POPUP "Menu"
    BEGIN
      MENUITEM "About",                       IDM_ABOUT  
    END
END

IDR_MAIN_MENU2 MENU DISCARDABLE 
BEGIN
    POPUP "Menu"
    BEGIN
      MENUITEM "About",                       IDM_ABOUT  
    END
    POPUP "Display"
    BEGIN
      MENUITEM "View",                        IDM_VIEW
    END
END


IDR_MAIN_MENU3 MENU DISCARDABLE 
BEGIN
    POPUP "Menu1"
    BEGIN
      MENUITEM "Item1",                       IDM_ITEM1
    END
    POPUP "Menu2"
    BEGIN
      MENUITEM "Item2",                       IDM_ITEM2
    END
    POPUP "Menu3"
    BEGIN
      MENUITEM "Item3",                       IDM_ITEM3
    END
    POPUP "Menu4"
    BEGIN
      MENUITEM "Item4",                       IDM_ITEM4
    END
END

IDR_MAIN_MENU4 MENU DISCARDABLE 
BEGIN
    POPUP "Menu1"
    BEGIN
      MENUITEM "Item1",                       IDM_ITEM1
    END
    POPUP "Menu2"
    BEGIN
      MENUITEM "Item2",                       IDM_ITEM2
    END
    POPUP "Menu3"
    BEGIN
      MENUITEM "Item3",                       IDM_ITEM3
    END
    POPUP "Menu4"
    BEGIN
      MENUITEM "Item4",                       IDM_ITEM4
    END
    POPUP "Menu5"
    BEGIN
      MENUITEM "Item5",                       IDM_ITEM5
    END
    POPUP "Menu6"
    BEGIN
      MENUITEM "Item6",                       IDM_ITEM6
    END
END

IDR_MAIN_MENU5 MENU DISCARDABLE 
BEGIN
    POPUP "Menu1"
    BEGIN
      MENUITEM "Item1",                       IDM_ITEM1
    END
    POPUP "Menu2"
    BEGIN
      MENUITEM "Item2",                       IDM_ITEM2
    END
    POPUP "Menu3"
    BEGIN
      MENUITEM "Item3",                       IDM_ITEM3
    END
    POPUP "Menu4"
    BEGIN
      MENUITEM "Item4",                       IDM_ITEM4
    END
    POPUP "Menu5"
    BEGIN
      MENUITEM "Item5",                       IDM_ITEM5
    END
    POPUP "Menu6"
    BEGIN
      MENUITEM "Item6",                       IDM_ITEM6
    END
    POPUP "Menu7"
    BEGIN
      MENUITEM "Item7",                       IDM_ITEM7
    END
    POPUP "Menu8"
    BEGIN
      MENUITEM "Item8",                       IDM_ITEM8
    END
END

STRINGTABLE  
BEGIN   
   IDS_EXIT	"Exit"
   IDS_MENU	"Menu"
   IDS_LEFTMENU "Display"
   IDS_MENU1	"Menu__1"
   IDS_MENU2	"Menu__2"
   IDS_MENU3	"Menu__3"
   IDS_MENU4	"Menu__4"
   IDS_MENU5	"Menu__5"
   IDS_MENU6	"Menu__6"
   IDS_MENU7	"Menu__7"
   IDS_MENU8	"Menu__8"
END

IDR_MAIN_MENU SHMENUBAR DISCARDABLE
BEGIN
    IDR_MAIN_MENU, 
    2,

    I_IMAGENONE, IDM_EXIT, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
    IDS_EXIT, 0, NOMENU,
    
    I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU, 0, 0,
END

IDR_MAIN_MENU2 SHMENUBAR DISCARDABLE
BEGIN
    IDR_MAIN_MENU2, 
    2,

    I_IMAGENONE, IDM_LEFTMENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_LEFTMENU, 0, 1,
    
    I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU, 0, 0,
END

IDR_MAIN_MENU3 SHMENUBAR DISCARDABLE
BEGIN
    IDR_MAIN_MENU3, 
    4,

    I_IMAGENONE, IDM_MENU1, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU1, 0, 0,

    I_IMAGENONE, IDM_MENU2, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU2, 0, 1,

    I_IMAGENONE, IDM_MENU3, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU3, 0, 2,

    I_IMAGENONE, IDM_MENU4, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU4, 0, 3,
END

IDR_MAIN_MENU4 SHMENUBAR DISCARDABLE
BEGIN
    IDR_MAIN_MENU4, 
    6,

    I_IMAGENONE, IDM_MENU1, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU1, 0, 0,

    I_IMAGENONE, IDM_MENU2, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU2, 0, 1,

    I_IMAGENONE, IDM_MENU3, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU3, 0, 2,

    I_IMAGENONE, IDM_MENU4, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU4, 0, 3,

    I_IMAGENONE, IDM_MENU5, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU5, 0, 4,

    I_IMAGENONE, IDM_MENU6, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU6, 0, 5,
END

IDR_MAIN_MENU5 SHMENUBAR DISCARDABLE
BEGIN
    IDR_MAIN_MENU5, 
    8,

    I_IMAGENONE, IDM_MENU1, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU1, 0, 0,

    I_IMAGENONE, IDM_MENU2, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU2, 0, 1,

    I_IMAGENONE, IDM_MENU3, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU3, 0, 2,

    I_IMAGENONE, IDM_MENU4, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU4, 0, 3,

    I_IMAGENONE, IDM_MENU5, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU5, 0, 4,

    I_IMAGENONE, IDM_MENU6, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU6, 0, 5,

    I_IMAGENONE, IDM_MENU7, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU7, 0, 6,

    I_IMAGENONE, IDM_MENU8, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
    IDS_MENU8, 0, 7,
END
