|
|
| version 1.18, 2005/03/20 06:09:16 | version 1.25, 2007/12/28 20:36:40 |
|---|---|
| Line 3 | Line 3 |
| #include "resource.h" | #include "resource.h" |
| #include "np2.h" | #include "np2.h" |
| #include "winloc.h" | #include "winloc.h" |
| #include "oemtext.h" | |
| #include "dosio.h" | #include "dosio.h" |
| #include "soundmng.h" | #include "soundmng.h" |
| #include "sysmng.h" | #include "sysmng.h" |
| Line 33 enum { | Line 34 enum { |
| IDC_TOOLPOWER, | IDC_TOOLPOWER, |
| IDC_MAXITEMS, | IDC_MAXITEMS, |
| IDC_BASE = 3000, | IDC_BASE = 3000 |
| IDM_SKINSEL = 3100, | |
| IDM_SKINDEF = 3101, | |
| IDM_SKINMRU = 3102, | |
| IDM_TOOLCLOSE = IDM_SKINMRU + SKINMRU_MAX | |
| }; | }; |
| enum { | enum { |
| Line 88 typedef struct { | Line 84 typedef struct { |
| SUBCLASSPROC subproc[IDC_MAXITEMS]; | SUBCLASSPROC subproc[IDC_MAXITEMS]; |
| } TOOLWIN; | } TOOLWIN; |
| enum { | #define GTWLP_FOCUS (NP2GWLP_SIZE + (0 * sizeof(LONG_PTR))) |
| GTWL_FOCUS = NP2GWL_SIZE + 0, | #define GTWLP_SIZE (NP2GWLP_SIZE + (1 * sizeof(LONG_PTR))) |
| GTWL_SIZE = NP2GWL_SIZE + 4 | |
| }; | |
| NP2TOOL np2tool; | NP2TOOL np2tool; |
| static TOOLSKIN toolskin; | static TOOLSKIN toolskin; |
| Line 148 static HBITMAP skinload(const OEMCHAR *p | Line 142 static HBITMAP skinload(const OEMCHAR *p |
| milstr_ncpy(fname, path, NELEMENTS(fname)); | milstr_ncpy(fname, path, NELEMENTS(fname)); |
| file_cutname(fname); | file_cutname(fname); |
| file_catname(fname, toolskin.main, NELEMENTS(fname)); | file_catname(fname, toolskin.main, NELEMENTS(fname)); |
| ret = (HBITMAP)LoadImage(hInst, fname, IMAGE_BITMAP, | #if defined(OSLANG_UTF8) |
| TCHAR tchr[MAX_PATH]; | |
| oemtotchar(tchr, NELEMENTS(tchr), fname, -1); | |
| #else | |
| const TCHAR *tchr = fname; | |
| #endif | |
| ret = (HBITMAP)LoadImage(g_hInstance, tchr, IMAGE_BITMAP, | |
| 0, 0, LR_LOADFROMFILE); | 0, 0, LR_LOADFROMFILE); |
| if (ret != NULL) { | if (ret != NULL) { |
| return(ret); | return(ret); |
| } | } |
| } | } |
| return(LoadBitmap(hInst, OEMTEXT("NP2TOOL"))); | return(LoadBitmap(g_hInstance, _T("NP2TOOL"))); |
| } | } |
| Line 190 static void calctextsize(OEMCHAR *path, | Line 190 static void calctextsize(OEMCHAR *path, |
| GetTextExtentPoint32(hdc, work, OEMSTRLEN(work), &tail); | GetTextExtentPoint32(hdc, work, OEMSTRLEN(work), &tail); |
| pos = 0; | pos = 0; |
| while(pos < l) { | while(pos < l) { |
| step = ((((p[pos] ^ 0x20) - 0xa1) & 0xff) < 0x3c)?2:1; | #if defined(_UNICODE) |
| step = 1; | |
| #else | |
| step = (IsDBCSLeadByte((BYTE)p[pos]))?2:1; | |
| #endif | |
| GetTextExtentPoint32(hdc, p, pos + step, &cur); | GetTextExtentPoint32(hdc, p, pos + step, &cur); |
| if (cur.cx + tail.cx >= width) { | if (cur.cx + tail.cx >= width) { |
| break; | break; |
| Line 353 static LRESULT CALLBACK twsub(HWND hWnd, | Line 357 static LRESULT CALLBACK twsub(HWND hWnd, |
| else if (msg == WM_DROPFILES) { | else if (msg == WM_DROPFILES) { |
| files = DragQueryFile((HDROP)wp, (UINT)-1, NULL, 0); | files = DragQueryFile((HDROP)wp, (UINT)-1, NULL, 0); |
| if (files == 1) { | if (files == 1) { |
| #if defined(OSLANG_UTF8) | |
| TCHAR tchr[MAX_PATH]; | |
| DragQueryFile((HDROP)wp, 0, tchr, NELEMENTS(tchr)); | |
| tchartooem(fname, NELEMENTS(fname), tchr, -1); | |
| #else | |
| DragQueryFile((HDROP)wp, 0, fname, NELEMENTS(fname)); | DragQueryFile((HDROP)wp, 0, fname, NELEMENTS(fname)); |
| #endif | |
| if (idc == IDC_TOOLFDD1LIST) { | if (idc == IDC_TOOLFDD1LIST) { |
| diskdrv_setfdd(0, fname, 0); | diskdrv_setfdd(0, fname, 0); |
| toolwin_setfdd(0, fname); | toolwin_setfdd(0, fname); |
| Line 381 static LRESULT CALLBACK twsub(HWND hWnd, | Line 391 static LRESULT CALLBACK twsub(HWND hWnd, |
| } | } |
| } | } |
| else if (msg == WM_SETFOCUS) { | else if (msg == WM_SETFOCUS) { |
| SetWindowLong(GetParent(hWnd), GTWL_FOCUS, idc); | SetWindowLongPtr(GetParent(hWnd), GTWLP_FOCUS, idc); |
| } | } |
| return(CallWindowProc(toolwin.subproc[idc], hWnd, msg, wp, lp)); | return(CallWindowProc(toolwin.subproc[idc], hWnd, msg, wp, lp)); |
| } | } |
| static void toolwincreate(HWND hWnd) { | static void toolwincreate(HWND hWnd) { |
| HDC hdc; | #if defined(OSLANG_UTF8) |
| const SUBITEM *p; | TCHAR fontface[64]; |
| UINT i; | oemtotchar(fontface, NELEMENTS(fontface), toolskin.font, -1); |
| HWND sub; | #else |
| const OEMCHAR *cls; | const TCHAR *fontface = toolskin.font; |
| DWORD style; | #endif |
| toolwin.hfont = CreateFont(toolskin.fontsize, 0, 0, 0, 0, 0, 0, 0, | toolwin.hfont = CreateFont(toolskin.fontsize, 0, 0, 0, 0, 0, 0, 0, |
| SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, | SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, |
| DEFAULT_QUALITY, FIXED_PITCH, toolskin.font); | DEFAULT_QUALITY, FIXED_PITCH, fontface); |
| hdc = GetDC(NULL); | HDC hdc = GetDC(NULL); |
| toolwin.hdcfont = CreateCompatibleDC(hdc); | toolwin.hdcfont = CreateCompatibleDC(hdc); |
| ReleaseDC(NULL, hdc); | ReleaseDC(NULL, hdc); |
| SelectObject(toolwin.hdcfont, toolwin.hfont); | SelectObject(toolwin.hdcfont, toolwin.hfont); |
| Line 406 const OEMCHAR *cls; | Line 415 const OEMCHAR *cls; |
| toolwin.access[0] = CreateSolidBrush(0x000060); | toolwin.access[0] = CreateSolidBrush(0x000060); |
| toolwin.access[1] = CreateSolidBrush(0x0000ff); | toolwin.access[1] = CreateSolidBrush(0x0000ff); |
| p = subitem; | const SUBITEM *p = subitem; |
| UINT i; | |
| for (i=0; i<IDC_MAXITEMS; i++) { | for (i=0; i<IDC_MAXITEMS; i++) { |
| sub = NULL; | HWND sub = NULL; |
| cls = NULL; | const TCHAR *cls = NULL; |
| DWORD style; | |
| switch(p->tctl) { | switch(p->tctl) { |
| case TCTL_STATIC: | case TCTL_STATIC: |
| cls = str_static; | cls = str_static; |
| Line 433 const OEMCHAR *cls; | Line 444 const OEMCHAR *cls; |
| break; | break; |
| } | } |
| if ((cls) && (p->width > 0) && (p->height > 0)) { | if ((cls) && (p->width > 0) && (p->height > 0)) { |
| sub = CreateWindow(cls, p->text, WS_CHILD | WS_VISIBLE | style, | #if defined(OSLANG_UTF8) |
| TCHAR ptext[64]; | |
| oemtotchar(ptext, NELEMENTS(ptext), p->text, -1); | |
| #else | |
| const TCHAR *ptext = p->text; | |
| #endif | |
| sub = CreateWindow(cls, ptext, WS_CHILD | WS_VISIBLE | style, | |
| p->posx, p->posy, p->width, p->height, | p->posx, p->posy, p->width, p->height, |
| hWnd, (HMENU)(i + IDC_BASE), hInst, NULL); | hWnd, (HMENU)(i + IDC_BASE), g_hInstance, NULL); |
| } | } |
| toolwin.sub[i] = sub; | toolwin.sub[i] = sub; |
| toolwin.subproc[i] = NULL; | toolwin.subproc[i] = NULL; |
| if (sub) { | if (sub) { |
| toolwin.subproc[i] = (SUBCLASSPROC)GetWindowLong(sub, GWL_WNDPROC); | toolwin.subproc[i] = (SUBCLASSPROC)GetWindowLongPtr(sub, |
| SetWindowLong(sub, GWL_WNDPROC, (LONG)twsub); | GWLP_WNDPROC); |
| SetWindowLongPtr(sub, GWLP_WNDPROC, (LONG_PTR)twsub); | |
| SendMessage(sub, WM_SETFONT, (WPARAM)toolwin.hfont, | SendMessage(sub, WM_SETFONT, (WPARAM)toolwin.hfont, |
| MAKELPARAM(TRUE, 0)); | MAKELPARAM(TRUE, 0)); |
| } | } |
| p++; | p++; |
| } | } |
| for (i=0; i<FDDLIST_DRV; i++) { | for (i=0; i<FDDLIST_DRV; i++) { |
| sub = toolwin.sub[fddlist[i]]; | HWND sub = toolwin.sub[fddlist[i]]; |
| if (sub) { | if (sub) { |
| DragAcceptFiles(sub, TRUE); | DragAcceptFiles(sub, TRUE); |
| remakefddlist(sub, np2tool.fdd + i); | remakefddlist(sub, np2tool.fdd + i); |
| Line 459 const OEMCHAR *cls; | Line 477 const OEMCHAR *cls; |
| break; | break; |
| } | } |
| } | } |
| SetWindowLong(hWnd, GTWL_FOCUS, i); | SetWindowLongPtr(hWnd, GTWLP_FOCUS, i); |
| } | } |
| static void toolwindestroy(void) { | static void toolwindestroy(void) { |
| Line 539 static void tooldrawbutton(HWND hWnd, UI | Line 557 static void tooldrawbutton(HWND hWnd, UI |
| // ---- | // ---- |
| static HMENU createskinmenu(void) { | static void setSkinMruMenu(HMENU hMenu) |
| { | |
| HMENU ret; | HMENU hmenuSub; |
| UINT cnt; | const OEMCHAR *pcszBase; |
| const OEMCHAR *base; | UINT uCount; |
| UINT flag; | OEMCHAR *pszMru; |
| OEMCHAR *p; | const OEMCHAR *pcszMruList[SKINMRU_MAX]; |
| UINT i; | UINT i; |
| UINT uID[SKINMRU_MAX]; | |
| UINT j; | UINT j; |
| UINT id[SKINMRU_MAX]; | UINT uFlag; |
| const OEMCHAR *file[SKINMRU_MAX]; | |
| ret = CreatePopupMenu(); | for (i=0; i<SKINMRU_MAX; i++) |
| AppendMenu(ret, MF_STRING, IDM_SKINSEL, str_skinsel); | { |
| AppendMenu(ret, MF_SEPARATOR, 0, NULL); | DeleteMenu(hMenu, IDM_TOOL_SKINMRU + i, MF_BYCOMMAND); |
| } | |
| base = np2tool.skin; | |
| flag = (base[0] == '\0')?MF_CHECKED:0; | if (!menu_searchmenu(hMenu, IDM_TOOL_SKINDEF, &hmenuSub, NULL)) |
| AppendMenu(ret, MF_STRING + flag, IDM_SKINDEF, str_skindef); | { |
| for (cnt=0; cnt<SKINMRU_MAX; cnt++) { | return; |
| p = np2tool.skinmru[cnt]; | } |
| if (p[0] == '\0') { | |
| pcszBase = np2tool.skin; | |
| CheckMenuItem(hMenu, IDM_TOOL_SKINDEF, MFCHECK(pcszBase[0] == '\0')); | |
| for (uCount=0; uCount<SKINMRU_MAX; uCount++) | |
| { | |
| pszMru = np2tool.skinmru[uCount]; | |
| if (pszMru[0] == '\0') | |
| { | |
| break; | break; |
| } | } |
| p = file_getname(p); | pszMru = file_getname(pszMru); |
| for (i=0; i<cnt; i++) { | for (i=0; i<uCount; i++) |
| if (file_cmpname(p, file[id[i]]) < 0) { | { |
| if (file_cmpname(pszMru, pcszMruList[uID[i]]) < 0) | |
| { | |
| break; | break; |
| } | } |
| } | } |
| for (j=cnt; j>i; j--) { | for (j=uCount; j>i; j--) |
| id[j] = id[j-1]; | { |
| } | uID[j] = uID[j-1]; |
| id[i] = cnt; | } |
| file[cnt] = p; | uID[i] = uCount; |
| } | pcszMruList[uCount] = pszMru; |
| for (i=0; i<cnt; i++) { | } |
| j = id[i]; | |
| flag = (!file_cmpname(base, np2tool.skinmru[j]))?MF_CHECKED:0; | for (i=0; i<uCount; i++) |
| AppendMenu(ret, MF_STRING + flag, IDM_SKINMRU + j, file[j]); | { |
| j = uID[i]; | |
| uFlag = MFCHECK(!file_cmpname(pcszBase, np2tool.skinmru[j])); | |
| #if defined(OSLANG_UTF8) | |
| TCHAR szPath[MAX_PATH]; | |
| oemtotchar(szPath, NELEMENTS(szPath), pcszMruList[j], -1); | |
| #else | |
| const TCHAR *szPath = pcszMruList[j]; | |
| #endif | |
| AppendMenu(hmenuSub, MF_STRING + uFlag, IDM_TOOL_SKINMRU + j, szPath); | |
| } | } |
| return(ret); | |
| } | } |
| static void skinchange(HWND hWnd) { | #if 0 |
| static HMENU createskinmenu(void) | |
| { | |
| HMENU hMenu; | |
| const OEMCHAR *pcszBase; | |
| UINT uCount; | |
| OEMCHAR *pszMru; | |
| const OEMCHAR *pcszMruList[SKINMRU_MAX]; | |
| UINT i; | |
| UINT uID[SKINMRU_MAX]; | |
| UINT j; | |
| UINT uFlag; | |
| hMenu = LoadMenu(g_hInstance, MAKEINTRESOURCE(IDR_TOOLWIN)); | |
| pcszBase = np2tool.skin; | |
| CheckMenuItem(hMenu, IDM_TOOL_SKINDEF, MFCHECK(pcszBase[0] == '\0')); | |
| for (uCount=0; uCount<SKINMRU_MAX; uCount++) | |
| { | |
| pszMru = np2tool.skinmru[uCount]; | |
| if (pszMru[0] == '\0') | |
| { | |
| break; | |
| } | |
| pszMru = file_getname(pszMru); | |
| for (i=0; i<uCount; i++) | |
| { | |
| if (!file_cmpname(pszMru, pcszMruList[uID[i]])) | |
| { | |
| break; | |
| } | |
| } | |
| for (j=uCount; j>i; j--) | |
| { | |
| uID[j] = uID[j-1]; | |
| } | |
| uID[i] = uCount; | |
| pcszMruList[uCount] = pszMru; | |
| } | |
| for (i=0; i<uCount; i++) | |
| { | |
| j = uID[i]; | |
| uFlag = MFCHECK(!file_cmpname(pcszBase, np2tool.skinmru[j])); | |
| #if defined(OSLANG_UTF8) | |
| TCHAR szPath[MAX_PATH]; | |
| oemtotchar(szPath, NELEMENTS(szPath), pcszMruList[j], -1); | |
| #else | |
| const TCHAR *szPath = pcszMruList[j]; | |
| #endif | |
| AppendMenu(hMenu, MF_STRING + uFlag, IDM_TOOL_SKINMRU + j, szPath); | |
| } | |
| return hMenu; | |
| } | |
| #endif | |
| static void skinchange(HWND hWnd) | |
| { | |
| const OEMCHAR *p; | const OEMCHAR *p; |
| UINT i; | UINT i; |
| HBITMAP hbmp; | HBITMAP hbmp; |
| Line 605 const OEMCHAR *p; | Line 698 const OEMCHAR *p; |
| } | } |
| file_cpyname(np2tool.skinmru[0], p, NELEMENTS(np2tool.skinmru[0])); | file_cpyname(np2tool.skinmru[0], p, NELEMENTS(np2tool.skinmru[0])); |
| } | } |
| ModifyMenu(np2class_gethmenu(hWnd), 0, MF_BYPOSITION | MF_POPUP, | setSkinMruMenu(np2class_gethmenu(hWnd)); |
| (UINT)createskinmenu(), str_toolskin); | setSkinMruMenu(GetSystemMenu(hWnd, FALSE)); |
| ModifyMenu(GetSystemMenu(hWnd, FALSE), 0, MF_BYPOSITION | MF_POPUP, | |
| (UINT)createskinmenu(), str_toolskin); | |
| DrawMenuBar(hWnd); | DrawMenuBar(hWnd); |
| sysmng_update(SYS_UPDATEOSCFG); | sysmng_update(SYS_UPDATEOSCFG); |
| wlex = np2_winlocexallwin(hWndMain); | wlex = np2_winlocexallwin(g_hWndMain); |
| winlocex_setholdwnd(wlex, hWnd); | winlocex_setholdwnd(wlex, hWnd); |
| toolwindestroy(); | toolwindestroy(); |
| hbmp = skinload(np2tool.skin); | hbmp = skinload(np2tool.skin); |
| Line 631 const OEMCHAR *p; | Line 722 const OEMCHAR *p; |
| // ---- | // ---- |
| static void openpopup(HWND hWnd, LPARAM lp) { | static void openpopup(HWND hWnd, LPARAM lp) |
| { | |
| HMENU hMenu; | HMENU hMenu; |
| HMENU mainmenu; | |
| POINT pt; | POINT pt; |
| hMenu = CreatePopupMenu(); | hMenu = CreatePopupMenu(); |
| if (!winui_en) { | if (!winui_en) |
| mainmenu = np2class_gethmenu(hWndMain); | { |
| menu_addmenubar(hMenu, mainmenu); | menu_addmenu(hMenu, 0, np2class_gethmenu(g_hWndMain), FALSE); |
| } | } |
| AppendMenu(hMenu, MF_POPUP, (UINT)createskinmenu(), str_toolskin); | menu_addmenures(hMenu, -1, IDR_TOOLWIN, FALSE); |
| AppendMenu(hMenu, MF_SEPARATOR, 0, NULL); | menu_addmenures(hMenu, -1, IDR_CLOSE, TRUE); |
| AppendMenu(hMenu, MF_STRING, IDM_TOOLCLOSE, str_toolclose); | setSkinMruMenu(hMenu); |
| pt.x = LOWORD(lp); | pt.x = LOWORD(lp); |
| pt.y = HIWORD(lp); | pt.y = HIWORD(lp); |
| ClientToScreen(hWnd, &pt); | ClientToScreen(hWnd, &pt); |
| Line 652 static void openpopup(HWND hWnd, LPARAM | Line 742 static void openpopup(HWND hWnd, LPARAM |
| DestroyMenu(hMenu); | DestroyMenu(hMenu); |
| } | } |
| static LRESULT CALLBACK twproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { | static void toolwin_oncreate(HWND hWnd) |
| { | |
| HMENU hMenu; | |
| int nCount; | |
| HMENU hMenu; | np2class_wmcreate(hWnd); |
| setSkinMruMenu(np2class_gethmenu(hWnd)); | |
| hMenu = GetSystemMenu(hWnd, FALSE); | |
| nCount = menu_addmenures(hMenu, 0, IDR_TOOLWIN, FALSE); | |
| if (nCount) | |
| { | |
| InsertMenu(hMenu, nCount, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); | |
| setSkinMruMenu(hMenu); | |
| } | |
| np2class_windowtype(hWnd, (np2tool.type & 1) << 1); | |
| toolwincreate(hWnd); | |
| } | |
| static LRESULT CALLBACK twproc(HWND hWnd, UINT uMsg, WPARAM wp, LPARAM lp) | |
| { | |
| BOOL r; | BOOL r; |
| UINT idc; | UINT idc; |
| WINLOCEX wlex; | WINLOCEX wlex; |
| switch(msg) { | switch(uMsg) { |
| case WM_CREATE: | case WM_CREATE: |
| np2class_wmcreate(hWnd); | toolwin_oncreate(hWnd); |
| ModifyMenu(np2class_gethmenu(hWnd), 0, MF_BYPOSITION | MF_POPUP, | |
| (UINT)createskinmenu(), str_toolskin); | |
| hMenu = GetSystemMenu(hWnd, FALSE); | |
| InsertMenu(hMenu, 0, MF_BYPOSITION | MF_POPUP, | |
| (UINT)createskinmenu(), str_toolskin); | |
| InsertMenu(hMenu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); | |
| np2class_windowtype(hWnd, (np2tool.type & 1) << 1); | |
| toolwincreate(hWnd); | |
| break; | break; |
| case WM_SYSCOMMAND: | case WM_SYSCOMMAND: |
| switch(wp) { | switch(wp) { |
| case IDM_SKINSEL: | case IDM_TOOL_SKINSEL: |
| case IDM_SKINDEF: | case IDM_TOOL_SKINDEF: |
| case IDM_SKINMRU + 0: | case IDM_TOOL_SKINMRU + 0: |
| case IDM_SKINMRU + 1: | case IDM_TOOL_SKINMRU + 1: |
| case IDM_SKINMRU + 2: | case IDM_TOOL_SKINMRU + 2: |
| case IDM_SKINMRU + 3: | case IDM_TOOL_SKINMRU + 3: |
| return(SendMessage(hWnd, WM_COMMAND, wp, lp)); | return(SendMessage(hWnd, WM_COMMAND, wp, lp)); |
| default: | default: |
| return(DefWindowProc(hWnd, msg, wp, lp)); | return(DefWindowProc(hWnd, uMsg, wp, lp)); |
| } | } |
| break; | break; |
| Line 698 static LRESULT CALLBACK twproc(HWND hWnd | Line 798 static LRESULT CALLBACK twproc(HWND hWnd |
| case IDC_BASE + IDC_TOOLFDD1BROWSE: | case IDC_BASE + IDC_TOOLFDD1BROWSE: |
| if (!winui_en) { | if (!winui_en) { |
| SendMessage(hWndMain, WM_COMMAND, IDM_FDD1OPEN, 0); | SendMessage(g_hWndMain, WM_COMMAND, IDM_FDD1OPEN, 0); |
| } | } |
| break; | break; |
| Line 715 static LRESULT CALLBACK twproc(HWND hWnd | Line 815 static LRESULT CALLBACK twproc(HWND hWnd |
| case IDC_BASE + IDC_TOOLFDD2BROWSE: | case IDC_BASE + IDC_TOOLFDD2BROWSE: |
| if (!winui_en) { | if (!winui_en) { |
| SendMessage(hWndMain, WM_COMMAND, IDM_FDD2OPEN, 0); | SendMessage(g_hWndMain, WM_COMMAND, IDM_FDD2OPEN, 0); |
| } | } |
| break; | break; |
| Line 726 static LRESULT CALLBACK twproc(HWND hWnd | Line 826 static LRESULT CALLBACK twproc(HWND hWnd |
| case IDC_BASE + IDC_TOOLRESET: | case IDC_BASE + IDC_TOOLRESET: |
| if (!winui_en) { | if (!winui_en) { |
| SendMessage(hWndMain, WM_COMMAND, IDM_RESET, 0); | SendMessage(g_hWndMain, WM_COMMAND, IDM_RESET, 0); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| } | } |
| break; | break; |
| case IDC_BASE + IDC_TOOLPOWER: | case IDC_BASE + IDC_TOOLPOWER: |
| if (!winui_en) { | if (!winui_en) { |
| SendMessage(hWndMain, WM_CLOSE, 0, 0L); | SendMessage(g_hWndMain, WM_CLOSE, 0, 0L); |
| } | } |
| break; | break; |
| case IDM_SKINSEL: | case IDM_TOOL_SKINSEL: |
| soundmng_disable(SNDPROC_TOOL); | soundmng_disable(SNDPROC_TOOL); |
| r = dlgs_selectfile(hWnd, &skinui, np2tool.skin, | r = dlgs_openfile(hWnd, &fpSkin, np2tool.skin, |
| NELEMENTS(np2tool.skin), NULL); | NELEMENTS(np2tool.skin), NULL); |
| soundmng_enable(SNDPROC_TOOL); | soundmng_enable(SNDPROC_TOOL); |
| if (r) { | if (r) { |
| Line 747 static LRESULT CALLBACK twproc(HWND hWnd | Line 847 static LRESULT CALLBACK twproc(HWND hWnd |
| } | } |
| break; | break; |
| case IDM_SKINDEF: | case IDM_TOOL_SKINDEF: |
| np2tool.skin[0] = '\0'; | np2tool.skin[0] = '\0'; |
| skinchange(hWnd); | skinchange(hWnd); |
| break; | break; |
| case IDM_SKINMRU + 0: | case IDM_TOOL_SKINMRU + 0: |
| case IDM_SKINMRU + 1: | case IDM_TOOL_SKINMRU + 1: |
| case IDM_SKINMRU + 2: | case IDM_TOOL_SKINMRU + 2: |
| case IDM_SKINMRU + 3: | case IDM_TOOL_SKINMRU + 3: |
| file_cpyname(np2tool.skin, | file_cpyname(np2tool.skin, |
| np2tool.skinmru[LOWORD(wp) - IDM_SKINMRU], | np2tool.skinmru[LOWORD(wp) - IDM_TOOL_SKINMRU], |
| NELEMENTS(np2tool.skin)); | NELEMENTS(np2tool.skin)); |
| skinchange(hWnd); | skinchange(hWnd); |
| break; | break; |
| case IDM_TOOLCLOSE: | case IDM_CLOSE: |
| SendMessage(hWnd, WM_CLOSE, 0, 0); | SendMessage(hWnd, WM_CLOSE, 0, 0); |
| break; | break; |
| default: | default: |
| if (!winui_en) { | if (!winui_en) { |
| return(SendMessage(hWndMain, msg, wp, lp)); | return(SendMessage(g_hWndMain, uMsg, wp, lp)); |
| } | } |
| break; | break; |
| } | } |
| Line 776 static LRESULT CALLBACK twproc(HWND hWnd | Line 876 static LRESULT CALLBACK twproc(HWND hWnd |
| case WM_KEYDOWN: // TABを押した時に復帰 | case WM_KEYDOWN: // TABを押した時に復帰 |
| if ((short)wp == VK_TAB) { | if ((short)wp == VK_TAB) { |
| idc = GetWindowLong(hWnd, GTWL_FOCUS); | idc = (UINT)GetWindowLongPtr(hWnd, GTWLP_FOCUS); |
| if (idc < IDC_MAXITEMS) { | if (idc < IDC_MAXITEMS) { |
| SetFocus(toolwin.sub[idc]); | SetFocus(toolwin.sub[idc]); |
| } | } |
| return(0); | return(0); |
| } | } |
| return(SendMessage(hWndMain, msg, wp, lp)); | return(SendMessage(g_hWndMain, uMsg, wp, lp)); |
| case WM_KEYUP: | case WM_KEYUP: |
| if ((short)wp == VK_TAB) { | if ((short)wp == VK_TAB) { |
| return(0); | return(0); |
| } | } |
| return(SendMessage(hWndMain, msg, wp, lp)); | return(SendMessage(g_hWndMain, uMsg, wp, lp)); |
| case WM_PAINT: | case WM_PAINT: |
| toolwinpaint(hWnd); | toolwinpaint(hWnd); |
| break; | break; |
| case WM_DRAWITEM: | case WM_DRAWITEM: |
| tooldrawbutton(hWnd, wp, (LPDRAWITEMSTRUCT)lp); | tooldrawbutton(hWnd, (UINT)wp, (LPDRAWITEMSTRUCT)lp); |
| break; | break; |
| case WM_ENTERMENULOOP: | case WM_ENTERMENULOOP: |
| Line 857 static LRESULT CALLBACK twproc(HWND hWnd | Line 957 static LRESULT CALLBACK twproc(HWND hWnd |
| case WM_LBUTTONDBLCLK: | case WM_LBUTTONDBLCLK: |
| np2tool.type ^= 1; | np2tool.type ^= 1; |
| wlex = np2_winlocexallwin(hWndMain); | wlex = np2_winlocexallwin(g_hWndMain); |
| winlocex_setholdwnd(wlex, hWnd); | winlocex_setholdwnd(wlex, hWnd); |
| np2class_windowtype(hWnd, (np2tool.type & 1) << 1); | np2class_windowtype(hWnd, (np2tool.type & 1) << 1); |
| winlocex_move(wlex); | winlocex_move(wlex); |
| Line 866 static LRESULT CALLBACK twproc(HWND hWnd | Line 966 static LRESULT CALLBACK twproc(HWND hWnd |
| break; | break; |
| default: | default: |
| return(DefWindowProc(hWnd, msg, wp, lp)); | return(DefWindowProc(hWnd, uMsg, wp, lp)); |
| } | } |
| return(0); | return(0); |
| } | } |
| Line 878 BOOL toolwin_initapp(HINSTANCE hInstance | Line 978 BOOL toolwin_initapp(HINSTANCE hInstance |
| wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; |
| wc.lpfnWndProc = twproc; | wc.lpfnWndProc = twproc; |
| wc.cbClsExtra = 0; | wc.cbClsExtra = 0; |
| wc.cbWndExtra = GTWL_SIZE; | wc.cbWndExtra = GTWLP_SIZE; |
| wc.hInstance = hInstance; | wc.hInstance = hInstance; |
| wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); | wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); |
| wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); |
| Line 888 BOOL toolwin_initapp(HINSTANCE hInstance | Line 988 BOOL toolwin_initapp(HINSTANCE hInstance |
| return(RegisterClass(&wc)); | return(RegisterClass(&wc)); |
| } | } |
| void toolwin_create(void) { | void toolwin_create(HINSTANCE hInstance) { |
| HBITMAP hbmp; | HBITMAP hbmp; |
| BITMAP bmp; | BITMAP bmp; |
| TCHAR szCaption[128]; | |
| HWND hWnd; | HWND hWnd; |
| if (toolwin.hwnd) { | if (toolwin.hwnd) { |
| Line 904 void toolwin_create(void) { | Line 1005 void toolwin_create(void) { |
| } | } |
| GetObject(hbmp, sizeof(BITMAP), &bmp); | GetObject(hbmp, sizeof(BITMAP), &bmp); |
| toolwin.hbmp = hbmp; | toolwin.hbmp = hbmp; |
| hWnd = CreateWindow(np2toolclass, np2tooltitle, | |
| loadstringresource(LOWORD(IDS_CAPTION_TOOL), | |
| szCaption, NELEMENTS(szCaption)); | |
| hWnd = CreateWindow(np2toolclass, szCaption, | |
| WS_SYSMENU | WS_MINIMIZEBOX, | WS_SYSMENU | WS_MINIMIZEBOX, |
| np2tool.posx, np2tool.posy, | np2tool.posx, np2tool.posy, |
| bmp.bmWidth, bmp.bmHeight, | bmp.bmWidth, bmp.bmHeight, |
| NULL, NULL, hInst, NULL); | NULL, NULL, hInstance, NULL); |
| winloc_setclientsize(hWnd, bmp.bmWidth, bmp.bmHeight); | winloc_setclientsize(hWnd, bmp.bmWidth, bmp.bmHeight); |
| toolwin.hwnd = hWnd; | toolwin.hwnd = hWnd; |
| if (hWnd == NULL) { | if (hWnd == NULL) { |
| Line 916 void toolwin_create(void) { | Line 1020 void toolwin_create(void) { |
| } | } |
| UpdateWindow(hWnd); | UpdateWindow(hWnd); |
| ShowWindow(hWnd, SW_SHOWNOACTIVATE); | ShowWindow(hWnd, SW_SHOWNOACTIVATE); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| return; | return; |
| twope_err2: | twope_err2: |
| Line 978 void toolwin_setfdd(UINT8 drv, const OEM | Line 1082 void toolwin_setfdd(UINT8 drv, const OEM |
| sub = toolwin.sub[fddlist[drv]]; | sub = toolwin.sub[fddlist[drv]]; |
| if (sub) { | if (sub) { |
| remakefddlist(sub, fdd); | remakefddlist(sub, fdd); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| } | } |
| } | } |
| } | } |