--- np2/win9x/subwind.cpp 2005/03/20 13:12:49 1.13 +++ np2/win9x/subwind.cpp 2007/11/11 07:11:27 1.15 @@ -20,7 +20,7 @@ static void wintypechange(HWND hWnd, UIN WINLOCEX wlex; - wlex = np2_winlocexallwin(hWndMain); + wlex = np2_winlocexallwin(g_hWndMain); winlocex_setholdwnd(wlex, hWnd); np2class_windowtype(hWnd, type); winlocex_move(wlex); @@ -124,7 +124,7 @@ static void kdsetwinsize(void) { int height; WINLOCEX wlex; - wlex = np2_winlocexallwin(hWndMain); + wlex = np2_winlocexallwin(g_hWndMain); winlocex_setholdwnd(wlex, kdispwin.hwnd); keydisp_getsize(&width, &height); winloc_setclientsize(kdispwin.hwnd, width, height); @@ -226,7 +226,7 @@ static LRESULT CALLBACK kdproc(HWND hWnd case WM_KEYDOWN: case WM_KEYUP: - SendMessage(hWndMain, msg, wp, lp); + SendMessage(g_hWndMain, msg, wp, lp); break; case WM_ENTERMENULOOP: @@ -283,31 +283,29 @@ static LRESULT CALLBACK kdproc(HWND hWnd return(0L); } -BOOL kdispwin_initialize(HINSTANCE hPreInst) { +BOOL kdispwin_initialize(HINSTANCE hInstance) { WNDCLASS wc; - if (!hPreInst) { - ZeroMemory(&wc, sizeof(wc)); - wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; - wc.lpfnWndProc = kdproc; - wc.cbClsExtra = 0; - wc.cbWndExtra = NP2GWL_SIZE; - wc.hInstance = hInst; - wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); - wc.lpszMenuName = MAKEINTRESOURCE(IDR_KEYDISP); - wc.lpszClassName = kdispclass; - if (!RegisterClass(&wc)) { - return(FAILURE); - } + ZeroMemory(&wc, sizeof(wc)); + wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; + wc.lpfnWndProc = kdproc; + wc.cbClsExtra = 0; + wc.cbWndExtra = NP2GWLP_SIZE; + wc.hInstance = hInstance; + wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); + wc.lpszMenuName = MAKEINTRESOURCE(IDR_KEYDISP); + wc.lpszClassName = kdispclass; + if (!RegisterClass(&wc)) { + return(FAILURE); } keydisp_initialize(); return(SUCCESS); } -void kdispwin_create(void) { +void kdispwin_create(HINSTANCE hInstance) { HWND hwnd; UINT8 mode; @@ -322,7 +320,7 @@ void kdispwin_create(void) { WS_MINIMIZEBOX, kdispcfg.posx, kdispcfg.posy, KEYDISP_WIDTH, KEYDISP_HEIGHT, - NULL, NULL, hInst, NULL); + NULL, NULL, hInstance, NULL); kdispwin.hwnd = hwnd; if (hwnd == NULL) { goto kdcre_err1; @@ -350,7 +348,7 @@ void kdispwin_create(void) { palfn.userdata = (long)kdispwin.dd2hdl; keydisp_setpal(&palfn); kdispwin_draw(0); - SetForegroundWindow(hWndMain); + SetForegroundWindow(g_hWndMain); return; kdcre_err2: @@ -522,9 +520,21 @@ static LRESULT CALLBACK mdproc(HWND hWnd mdpaintmsg(hWnd); break; + case WM_LBUTTONDOWN: + if (mdbgcfg.type & 1) { + return(SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0L)); + } + break; + + case WM_LBUTTONDBLCLK: + mdbgcfg.type ^= 1; + wintypechange(hWnd, (mdbgcfg.type & 1) + 1); + sysmng_update(SYS_UPDATEOSCFG); + break; + case WM_KEYDOWN: case WM_KEYUP: - SendMessage(hWndMain, msg, wp, lp); + SendMessage(g_hWndMain, msg, wp, lp); break; case WM_ENTERMENULOOP: @@ -582,12 +592,12 @@ BOOL mdbgwin_initialize(HINSTANCE hInsta WNDCLASS wc; - wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW; + wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; wc.lpfnWndProc = mdproc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; - wc.hIcon = NULL; + wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); wc.lpszMenuName = NULL; @@ -599,33 +609,33 @@ BOOL mdbgwin_initialize(HINSTANCE hInsta return(SUCCESS); } -void mdbgwin_create(void) { +void mdbgwin_create(HINSTANCE hInstance) { - HWND hwnd; + HWND hWnd; if (mdbgwin.hwnd != NULL) { return; } ZeroMemory(&mdbgwin, sizeof(mdbgwin)); memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); - hwnd = CreateWindow(mdbgclass, mdbgtitle, + hWnd = CreateWindow(mdbgclass, mdbgtitle, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, mdbgcfg.posx, mdbgcfg.posy, mdbgwin.width, mdbgwin.height, - NULL, NULL, hInst, NULL); - mdbgwin.hwnd = hwnd; - if (hwnd == NULL) { + NULL, NULL, hInstance, NULL); + mdbgwin.hwnd = hWnd; + if (hWnd == NULL) { goto mdcre_err1; } - ShowWindow(hwnd, SW_SHOWNOACTIVATE); - UpdateWindow(hwnd); + ShowWindow(hWnd, SW_SHOWNOACTIVATE); + UpdateWindow(hWnd); mdbgwin.dd2hdl = dd2_create(hwnd, mdbgwin.width, mdbgwin.height); if (mdbgwin.dd2hdl == NULL) { goto mdcre_err2; } - InvalidateRect(hwnd, NULL, TRUE); - SetForegroundWindow(hWndMain); + InvalidateRect(hWnd, NULL, TRUE); + SetForegroundWindow(g_hWndMain); return; mdcre_err2: @@ -797,7 +807,7 @@ static LRESULT CALLBACK skproc(HWND hWnd case WM_KEYDOWN: case WM_KEYUP: - SendMessage(hWndMain, msg, wp, lp); + SendMessage(g_hWndMain, msg, wp, lp); break; case WM_ENTERMENULOOP: @@ -851,25 +861,23 @@ static LRESULT CALLBACK skproc(HWND hWnd return(0L); } -BOOL skbdwin_initialize(HINSTANCE hPreInst) { +BOOL skbdwin_initialize(HINSTANCE hInstance) { WNDCLASS wc; - if (!hPreInst) { - ZeroMemory(&wc, sizeof(wc)); - wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; - wc.lpfnWndProc = skproc; - wc.cbClsExtra = 0; - wc.cbWndExtra = NP2GWL_SIZE; - wc.hInstance = hInst; - wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); - wc.lpszMenuName = NULL; - wc.lpszClassName = skbdclass; - if (!RegisterClass(&wc)) { - return(FAILURE); - } + ZeroMemory(&wc, sizeof(wc)); + wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; + wc.lpfnWndProc = skproc; + wc.cbClsExtra = 0; + wc.cbWndExtra = NP2GWLP_SIZE; + wc.hInstance = hInstance; + wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); + wc.lpszMenuName = NULL; + wc.lpszClassName = skbdclass; + if (!RegisterClass(&wc)) { + return(FAILURE); } softkbd_initialize(); return(SUCCESS); @@ -880,7 +888,7 @@ void skbdwin_deinitialize(void) { softkbd_deinitialize(); } -void skbdwin_create(void) { +void skbdwin_create(HINSTANCE hInstance) { HWND hwnd; @@ -896,7 +904,7 @@ void skbdwin_create(void) { WS_MINIMIZEBOX, skbdcfg.posx, skbdcfg.posy, skbdwin.width, skbdwin.height, - NULL, NULL, hInst, NULL); + NULL, NULL, hInstance, NULL); skbdwin.hwnd = hwnd; if (hwnd == NULL) { goto skcre_err1; @@ -908,7 +916,7 @@ void skbdwin_create(void) { goto skcre_err2; } InvalidateRect(hwnd, NULL, TRUE); - SetForegroundWindow(hWndMain); + SetForegroundWindow(g_hWndMain); return; skcre_err2: