|
|
| version 1.23, 2005/03/24 01:42:46 | version 1.27, 2007/10/26 14:38:34 |
|---|---|
| Line 76 const MENUITEMS *iterm; | Line 76 const MENUITEMS *iterm; |
| } | } |
| } | } |
| static BOOL searchchildmenu(HMENU hMenu, UINT uID, HMENU *phmenuRet, UINT *puPos) | |
| { | |
| UINT nCount; | |
| UINT i; | |
| MENUITEMINFO mii; | |
| nCount = GetMenuItemCount(hMenu); | |
| for (i=0; i<nCount; i++) | |
| { | |
| ZeroMemory(&mii, sizeof(mii)); | |
| mii.cbSize = sizeof(mii); | |
| mii.fMask = MIIM_ID | MIIM_SUBMENU; | |
| if (GetMenuItemInfo(hMenu, i, TRUE, &mii)) | |
| { | |
| if (mii.wID == uID) | |
| { | |
| if (phmenuRet) | |
| { | |
| *phmenuRet = hMenu; | |
| } | |
| if (puPos) | |
| { | |
| *puPos = i; | |
| } | |
| return TRUE; | |
| } | |
| else if ((mii.hSubMenu) && (searchchildmenu(mii.hSubMenu, uID, phmenuRet, puPos))) | |
| { | |
| return TRUE; | |
| } | |
| } | |
| } | |
| return FALSE; | |
| } | |
| static BOOL searchsubmenu(HMENU hMenu, HMENU hmenuTarget, HMENU *phmenuRet, UINT *puPos) | |
| { | |
| UINT nCount; | |
| UINT i; | |
| MENUITEMINFO mii; | |
| nCount = GetMenuItemCount(hMenu); | |
| for (i=0; i<nCount; i++) | |
| { | |
| ZeroMemory(&mii, sizeof(mii)); | |
| mii.cbSize = sizeof(mii); | |
| mii.fMask = MIIM_SUBMENU; | |
| if ((GetMenuItemInfo(hMenu, i, TRUE, &mii)) && (mii.hSubMenu)) | |
| { | |
| if (mii.hSubMenu == hmenuTarget) | |
| { | |
| if (phmenuRet) | |
| { | |
| *phmenuRet = hMenu; | |
| } | |
| if (puPos) | |
| { | |
| *puPos = i; | |
| } | |
| return TRUE; | |
| } | |
| if (searchsubmenu(mii.hSubMenu, hmenuTarget, phmenuRet, puPos)) | |
| { | |
| return TRUE; | |
| } | |
| } | |
| } | |
| return FALSE; | |
| } | |
| // ---- | // ---- |
| Line 286 void xmenu_initialize(void) { | Line 356 void xmenu_initialize(void) { |
| hMenu = np2class_gethmenu(hWndMain); | hMenu = np2class_gethmenu(hWndMain); |
| if (np2oscfg.I286SAVE) { | if (np2oscfg.I286SAVE) { |
| hSubMenu = GetSubMenu(hMenu, 4); | hSubMenu = GetSubMenu(hMenu, 3); |
| insertresmenu(hSubMenu, 10, MF_BYPOSITION | MF_STRING, | insertresmenu(hSubMenu, 10, MF_BYPOSITION | MF_STRING, |
| IDM_CPUSAVE, IDS_CPUSAVE); | IDM_CPUSAVE, IDS_CPUSAVE); |
| } | } |
| #if defined(SUPPORT_PX) | |
| hSubMenu = GetSubMenu(hMenu, 2); | |
| hSubMenu = GetSubMenu(hSubMenu, 1); | |
| insertresmenu(hSubMenu, 14, MF_BYPOSITION | MF_STRING, | |
| IDM_PX1, IDS_PX1); | |
| insertresmenu(hSubMenu, 15, MF_BYPOSITION | MF_STRING, | |
| IDM_PX2, IDS_PX2); | |
| #endif | |
| #if defined(SUPPORT_WAVEREC) | #if defined(SUPPORT_WAVEREC) |
| hSubMenu = GetSubMenu(hMenu, 4); | hSubMenu = GetSubMenu(hMenu, 3); |
| insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, | insertresmenu(hSubMenu, 2, MF_BYPOSITION | MF_STRING, |
| IDM_WAVEREC, IDS_WAVEREC); | IDM_WAVEREC, IDS_WAVEREC); |
| #endif | #endif |
| Line 457 void xmenu_setsound(UINT8 value) { | Line 537 void xmenu_setsound(UINT8 value) { |
| CheckMenuItem(hmenu, IDM_SPEAKBOARD, MFCHECK(value == 0x20)); | CheckMenuItem(hmenu, IDM_SPEAKBOARD, MFCHECK(value == 0x20)); |
| CheckMenuItem(hmenu, IDM_SPARKBOARD, MFCHECK(value == 0x40)); | CheckMenuItem(hmenu, IDM_SPARKBOARD, MFCHECK(value == 0x40)); |
| CheckMenuItem(hmenu, IDM_AMD98, MFCHECK(value == 0x80)); | CheckMenuItem(hmenu, IDM_AMD98, MFCHECK(value == 0x80)); |
| #if defined(SUPPORT_PX) | |
| CheckMenuItem(hmenu, IDM_PX1, MFCHECK(value == 0x30)); | |
| CheckMenuItem(hmenu, IDM_PX2, MFCHECK(value == 0x50)); | |
| #endif // defined(SUPPORT_PX) | |
| } | } |
| void xmenu_setjastsound(UINT8 value) { | void xmenu_setjastsound(UINT8 value) { |