- use fonts/fontsizes given by SystemParametersInfo
- drawing/alignment fixes, win98 style for menubar
- ownerdrawn menus are working now for the first time
- complete constants magic items
- use right owner for popupmenus
- new: Get/SetMenuInfo
- implemented: Get/SetMenuContextHelpId
- more flags for Get/SetMenuItemInfo

diff --git a/include/winuser.h b/include/winuser.h
index 0a9e31d..1444485 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -253,6 +253,7 @@
 #define ODT_LISTBOX     2
 #define ODT_COMBOBOX    3
 #define ODT_BUTTON      4
+#define ODT_STATIC      5
 
 /* Owner draw actions */
 #define ODA_DRAWENTIRE  0x0001
@@ -265,6 +266,9 @@
 #define ODS_DISABLED    0x0004
 #define ODS_CHECKED     0x0008
 #define ODS_FOCUS       0x0010
+#define ODS_COMBOBOXEDIT 0x1000
+#define ODS_HOTLIGHT    0x0040
+#define ODS_INACTIVE    0x0080
 
 /* Edit control styles */
 #define ES_LEFT         0x00000000
@@ -1254,9 +1258,10 @@
   HMENU   hSubMenu;
   HBITMAP hbmpChecked;
   HBITMAP hbmpUnchecked;
-  DWORD     dwItemData;
-  LPSTR     dwTypeData;
+  DWORD   dwItemData;
+  LPSTR   dwTypeData;
   UINT    cch;
+  HBITMAP hbmpItem;
 } MENUITEMINFOA, *LPMENUITEMINFOA;
 
 typedef struct {
@@ -1271,12 +1276,32 @@
   DWORD     dwItemData;
   LPWSTR    dwTypeData;
   UINT    cch;
+  HBITMAP hbmpItem;
 } MENUITEMINFOW, *LPMENUITEMINFOW;
 
 DECL_WINELIB_TYPE_AW(MENUITEMINFO)
 DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
 
 typedef struct {
+  DWORD   cbSize;
+  DWORD   fMask;
+  DWORD   dwStyle;
+  UINT    cyMax;
+  HBRUSH  hbrBack;
+  DWORD   dwContextHelpID;
+  DWORD   dwMenuData;
+} MENUINFO, *LPMENUINFO;
+
+typedef MENUINFO const * LPCMENUINFO;
+
+#define MIM_MAXHEIGHT		0x00000001
+#define MIM_BACKGROUND		0x00000002
+#define MIM_HELPID		0x00000004
+#define MIM_MENUDATA		0x00000008
+#define MIM_STYLE		0x00000010
+#define MIM_APPLYTOSUBMENUS	0x80000000
+
+typedef struct {
   WORD versionNumber;
   WORD offset;
 } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
@@ -1299,6 +1324,21 @@
 #define MIIM_CHECKMARKS  0x00000008
 #define MIIM_TYPE        0x00000010
 #define MIIM_DATA        0x00000020
+#define MIIM_STRING      0x00000040
+#define MIIM_BITMAP      0x00000080
+#define MIIM_FTYPE       0x00000100
+
+#define HBMMENU_CALLBACK	((HBITMAP) -1)
+#define HBMMENU_SYSTEM		((HBITMAP)  1)
+#define HBMMENU_MBAR_RESTORE	((HBITMAP)  2)
+#define HBMMENU_MBAR_MINIMIZE	((HBITMAP)  3)
+#define HBMMENU_MBAR_CLOSE	((HBITMAP)  5)
+#define HBMMENU_MBAR_CLOSE_D	((HBITMAP)  6)
+#define HBMMENU_MBAR_MINIMIZE_D	((HBITMAP)  7)
+#define HBMMENU_POPUP_CLOSE	((HBITMAP)  8)
+#define HBMMENU_POPUP_RESTORE	((HBITMAP)  9)
+#define HBMMENU_POPUP_MAXIMIZE	((HBITMAP) 10)
+#define HBMMENU_POPUP_MINIMIZE	((HBITMAP) 11)
 
 /* DrawState defines ... */
 typedef BOOL (CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT);
@@ -2251,6 +2291,12 @@
 #define MFS_UNCHECKED       MF_UNCHECKED
 #define MFS_UNHILITE        MF_UNHILITE
 #define MFS_DEFAULT         MF_DEFAULT
+#define MFS_MASK            0x0000108BL
+#define MFS_HOTTRACKDRAWN   0x10000000L
+#define MFS_CACHEDBMP       0x20000000L
+#define MFS_BOTTOMGAPDROP   0x40000000L
+#define MFS_TOPGAPDROP      0x80000000L
+#define MFS_GAPDROP         0xC0000000L
 
 #define DT_TOP 0
 #define DT_LEFT 0
@@ -2768,6 +2814,7 @@
 BOOL      WINAPI GetIconInfo(HICON,LPICONINFO);
 DWORD       WINAPI GetMenuContextHelpId(HMENU);
 UINT      WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
+BOOL      WINAPI GetMenuInfo(HMENU,LPMENUINFO);
 BOOL      WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,MENUITEMINFOA*);
 BOOL      WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,MENUITEMINFOW*);
 #define     GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
@@ -2801,6 +2848,7 @@
 VOID        WINAPI SetDebugErrorLevel(DWORD);
 VOID        WINAPI SetLastErrorEx(DWORD,DWORD);
 BOOL      WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
+BOOL      WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
 BOOL      WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
 BOOL      WINAPI SetMenuItemInfoW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
 #define     SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)