/* $Id$ * * Menu definitions */ #ifndef MENU_H #define MENU_H #define MENU_MAGIC 0x554d /* 'MU' */ typedef struct tagMENUITEM { WORD item_flags; /* Item flags */ WORD item_id; /* Item or popup id */ RECT rect; /* Item area (relative to menu window) */ WORD xTab; /* X position of text after Tab */ HBITMAP hCheckBit; /* Bitmap for checked item */ HBITMAP hUnCheckBit; /* Bitmap for unchecked item */ HANDLE hText; /* Handle to item string or bitmap */ char *item_text; } MENUITEM, *LPMENUITEM; typedef struct tagPOPUPMENU { HMENU hNext; /* Next menu (compatibility only, always 0) */ WORD wFlags; /* Menu flags (MF_POPUP, MF_SYSMENU) */ WORD wMagic; /* Magic number */ HANDLE hTaskQ; /* Task queue for this menu */ WORD Width; /* Width of the whole menu */ WORD Height; /* Height of the whole menu */ WORD nItems; /* Number of items in the menu */ HWND hWnd; /* Window containing the menu */ HANDLE hItems; /* Handle to the items array */ WORD FocusedItem; /* Currently focused item */ } POPUPMENU, *LPPOPUPMENU; typedef struct { WORD version; /* Should be zero */ WORD reserved; /* Must be zero */ } MENU_HEADER; typedef struct { WORD item_flags; /* See windows.h */ char item_text[1]; /* Text for menu item */ } MENU_POPUPITEM; typedef struct { WORD item_flags; /* See windows.h */ WORD item_id; /* Control Id for menu item */ char item_text[1]; /* Text for menu item */ } MENUITEMTEMPLATE; #endif /* MENU_H */