Diff for /np2/win9x/toolwin.cpp between versions 1.20 and 1.24

version 1.20, 2005/03/22 04:03:16 version 1.24, 2007/11/11 07:11:27
Line 89  typedef struct { Line 89  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 155  static HBITMAP skinload(const OEMCHAR *p Line 153  static HBITMAP skinload(const OEMCHAR *p
 #else  #else
                 const TCHAR *tchr = fname;                  const TCHAR *tchr = fname;
 #endif  #endif
                 ret = (HBITMAP)LoadImage(hInst, tchr, IMAGE_BITMAP,                  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, _T("NP2TOOL")));          return(LoadBitmap(g_hInstance, _T("NP2TOOL")));
 }  }
   
   
Line 398  static LRESULT CALLBACK twsub(HWND hWnd, Line 396  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));
 }  }
Line 459  static void toolwincreate(HWND hWnd) { Line 457  static void toolwincreate(HWND hWnd) {
 #endif  #endif
                         sub = CreateWindow(cls, ptext, WS_CHILD | WS_VISIBLE | style,                          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));
                 }                  }
Line 483  static void toolwincreate(HWND hWnd) { Line 482  static void toolwincreate(HWND hWnd) {
                         break;                          break;
                 }                  }
         }          }
         SetWindowLong(hWnd, GTWL_FOCUS, i);          SetWindowLongPtr(hWnd, GTWLP_FOCUS, i);
 }  }
   
 static void toolwindestroy(void) {  static void toolwindestroy(void) {
Line 642  const OEMCHAR *p; Line 641  const OEMCHAR *p;
         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 669  static void openpopup(HWND hWnd, LPARAM  Line 668  static void openpopup(HWND hWnd, LPARAM 
   
         hMenu = CreatePopupMenu();          hMenu = CreatePopupMenu();
         if (!winui_en) {          if (!winui_en) {
                 mainmenu = np2class_gethmenu(hWndMain);                  mainmenu = np2class_gethmenu(g_hWndMain);
                 menu_addmenubar(hMenu, mainmenu);                  menu_addmenubar(hMenu, mainmenu);
         }          }
         AppendMenu(hMenu, MF_POPUP, (UINT)createskinmenu(), str_toolskin);          AppendMenu(hMenu, MF_POPUP, (UINT)createskinmenu(), str_toolskin);
Line 728  static LRESULT CALLBACK twproc(HWND hWnd Line 727  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 745  static LRESULT CALLBACK twproc(HWND hWnd Line 744  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 756  static LRESULT CALLBACK twproc(HWND hWnd Line 755  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_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 798  static LRESULT CALLBACK twproc(HWND hWnd Line 797  static LRESULT CALLBACK twproc(HWND hWnd
   
                                 default:                                  default:
                                         if (!winui_en) {                                          if (!winui_en) {
                                                 return(SendMessage(hWndMain, msg, wp, lp));                                                  return(SendMessage(g_hWndMain, msg, wp, lp));
                                         }                                          }
                                         break;                                          break;
                         }                          }
Line 806  static LRESULT CALLBACK twproc(HWND hWnd Line 805  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, msg, 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, msg, 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 887  static LRESULT CALLBACK twproc(HWND hWnd Line 886  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 908  BOOL toolwin_initapp(HINSTANCE hInstance Line 907  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 918  BOOL toolwin_initapp(HINSTANCE hInstance Line 917  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;
Line 938  void toolwin_create(void) { Line 937  void toolwin_create(void) {
                                                         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 946  void toolwin_create(void) { Line 945  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 1008  void toolwin_setfdd(UINT8 drv, const OEM Line 1007  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);
                 }                  }
         }          }
 }  }

Removed from v.1.20  
changed lines
  Added in v.1.24


RetroPC.NET-CVS <cvs@retropc.net>