00001 /* $Id: winmenudef.h,v 1.3 2000/01/18 20:08:18 sandervl Exp $ */ 00002 00003 /* 00004 * Win32 menu API functions for OS/2 00005 * 00006 * Copyright 1998 Sander van Leeuwen 00007 * Copyright 1998 Patrick Haller 00008 * 00009 * Parts ported from Wine: 00010 * Copyright 1993 Martin Ayotte 00011 * Copyright 1994 Alexandre Julliard 00012 * Copyright 1997 Morten Welinder 00013 * 00014 * 00015 * Project Odin Software License can be found in LICENSE.TXT 00016 * 00017 */ 00018 00019 #ifndef __WINMENUDEF_H__ 00020 #define __WINMENUDEF_H__ 00021 00022 /* Menu item structure */ 00023 typedef struct { 00024 /* ----------- MENUITEMINFO Stuff ----------- */ 00025 UINT fType; /* Item type. */ 00026 UINT fState; /* Item state. */ 00027 UINT wID; /* Item id. */ 00028 HMENU hSubMenu; /* Pop-up menu. */ 00029 HBITMAP hCheckBit; /* Bitmap when checked. */ 00030 HBITMAP hUnCheckBit; /* Bitmap when unchecked. */ 00031 LPSTR text; /* Item text or bitmap handle. */ 00032 DWORD dwItemData; /* Application defined. */ 00033 DWORD dwTypeData; /* depends on fMask */ 00034 HBITMAP hbmpItem; /* bitmap in win98 style menus */ 00035 /* ----------- Wine stuff ----------- */ 00036 RECT rect; /* Item area (relative to menu window) */ 00037 UINT xTab; /* X position of text after Tab */ 00038 } MENUITEM; 00039 00040 /* Popup menu structure */ 00041 typedef struct { 00042 WORD wFlags; /* Menu flags (MF_POPUP, MF_SYSMENU) */ 00043 WORD wMagic; /* Magic number */ 00044 HQUEUE16 hTaskQ; /* Task queue for this menu */ 00045 WORD Width; /* Width of the whole menu */ 00046 WORD Height; /* Height of the whole menu */ 00047 WORD nItems; /* Number of items in the menu */ 00048 HWND hWnd; /* Window containing the menu */ 00049 MENUITEM *items; /* Array of menu items */ 00050 UINT FocusedItem; /* Currently focused item */ 00051 HWND hwndOwner; /* window receiving the messages for ownerdraw */ 00052 /* ------------ MENUINFO members ------ */ 00053 DWORD dwStyle; /* Extended mennu style */ 00054 UINT cyMax; /* max hight of the whole menu, 0 is screen hight */ 00055 HBRUSH hbrBack; /* brush for menu background */ 00056 DWORD dwContextHelpID; 00057 DWORD dwMenuData; /* application defined value */ 00058 HMENU hSysMenuOwner; /* Handle to the dummy sys menu holder */ 00059 } POPUPMENU, *LPPOPUPMENU; 00060 00061 #endif //__WINMENUDEF_H__