|
|
| version 1.21, 2006/12/24 00:52:30 | version 1.22, 2007/01/08 07:52:01 |
|---|---|
| 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 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 464 static void toolwincreate(HWND hWnd) { | Line 462 static void toolwincreate(HWND hWnd) { |
| toolwin.sub[i] = sub; | toolwin.sub[i] = sub; |
| toolwin.subproc[i] = NULL; | toolwin.subproc[i] = NULL; |
| if (sub) { | if (sub) { |
| toolwin.subproc[i] = GetWindowProc(sub); | toolwin.subproc[i] = (SUBCLASSPROC)GetWindowLongPtr(sub, |
| SetWindowProc(sub, 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 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 = GetWindowLongPtr(hWnd, GTWLP_FOCUS); |
| if (idc < IDC_MAXITEMS) { | if (idc < IDC_MAXITEMS) { |
| SetFocus(toolwin.sub[idc]); | SetFocus(toolwin.sub[idc]); |
| } | } |
| 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); |