|
|
| version 1.14, 2007/01/08 07:52:01 | version 1.17, 2007/12/28 20:36:40 |
|---|---|
| Line 20 static void wintypechange(HWND hWnd, UIN | Line 20 static void wintypechange(HWND hWnd, UIN |
| WINLOCEX wlex; | WINLOCEX wlex; |
| wlex = np2_winlocexallwin(hWndMain); | wlex = np2_winlocexallwin(g_hWndMain); |
| winlocex_setholdwnd(wlex, hWnd); | winlocex_setholdwnd(wlex, hWnd); |
| np2class_windowtype(hWnd, type); | np2class_windowtype(hWnd, type); |
| winlocex_move(wlex); | winlocex_move(wlex); |
| Line 36 enum { | Line 36 enum { |
| KDISPCFG_MIDI = 0x80 | KDISPCFG_MIDI = 0x80 |
| }; | }; |
| enum { | |
| IDM_KDCLOSE = 3000 | |
| }; | |
| typedef struct { | typedef struct { |
| HWND hwnd; | HWND hwnd; |
| WINLOCEX wlex; | WINLOCEX wlex; |
| Line 56 typedef struct { | Line 52 typedef struct { |
| static KDISPWIN kdispwin; | static KDISPWIN kdispwin; |
| static KDISPCFG kdispcfg; | static KDISPCFG kdispcfg; |
| static const TCHAR kdisptitle[] = _T("Key Display"); | |
| static const TCHAR kdispclass[] = _T("NP2-KeyDispWin"); | static const TCHAR kdispclass[] = _T("NP2-KeyDispWin"); |
| static const TCHAR str_kdclose[] = _T("&Close"); | |
| static const UINT32 kdisppal[KEYDISP_PALS] = | static const UINT32 kdisppal[KEYDISP_PALS] = |
| {0x00000000, 0xffffffff, 0xf9ff0000}; | {0x00000000, 0xffffffff, 0xf9ff0000}; |
| #if defined(OSLANG_UTF8) | |
| static const OEMCHAR kdispapp[] = OEMTEXT("Key Display"); | static const OEMCHAR kdispapp[] = OEMTEXT("Key Display"); |
| #else | |
| #define kdispapp kdisptitle | |
| #endif | |
| static const PFTBL kdispini[] = { | static const PFTBL kdispini[] = { |
| PFVAL("WindposX", PFTYPE_SINT32, &kdispcfg.posx), | PFVAL("WindposX", PFTYPE_SINT32, &kdispcfg.posx), |
| PFVAL("WindposY", PFTYPE_SINT32, &kdispcfg.posy), | PFVAL("WindposY", PFTYPE_SINT32, &kdispcfg.posy), |
| Line 124 static void kdsetwinsize(void) { | Line 114 static void kdsetwinsize(void) { |
| int height; | int height; |
| WINLOCEX wlex; | WINLOCEX wlex; |
| wlex = np2_winlocexallwin(hWndMain); | wlex = np2_winlocexallwin(g_hWndMain); |
| winlocex_setholdwnd(wlex, kdispwin.hwnd); | winlocex_setholdwnd(wlex, kdispwin.hwnd); |
| keydisp_getsize(&width, &height); | keydisp_getsize(&width, &height); |
| winloc_setclientsize(kdispwin.hwnd, width, height); | winloc_setclientsize(kdispwin.hwnd, width, height); |
| Line 160 static void kdopenpopup(HWND hWnd, LPARA | Line 150 static void kdopenpopup(HWND hWnd, LPARA |
| POINT pt; | POINT pt; |
| hMenu = CreatePopupMenu(); | hMenu = CreatePopupMenu(); |
| menu_addmenubar(hMenu, np2class_gethmenu(hWnd)); | menu_addmenu(hMenu, 0, np2class_gethmenu(hWnd), FALSE); |
| AppendMenu(hMenu, MF_SEPARATOR, 0, NULL); | menu_addmenures(hMenu, -1, IDR_CLOSE, TRUE); |
| AppendMenu(hMenu, MF_STRING, IDM_KDCLOSE, str_kdclose); | |
| pt.x = LOWORD(lp); | pt.x = LOWORD(lp); |
| pt.y = HIWORD(lp); | pt.y = HIWORD(lp); |
| ClientToScreen(hWnd, &pt); | ClientToScreen(hWnd, &pt); |
| Line 192 static LRESULT CALLBACK kdproc(HWND hWnd | Line 181 static LRESULT CALLBACK kdproc(HWND hWnd |
| kdsetdispmode(KEYDISP_MODEMIDI); | kdsetdispmode(KEYDISP_MODEMIDI); |
| break; | break; |
| case IDM_KDCLOSE: | case IDM_CLOSE: |
| return(SendMessage(hWnd, WM_CLOSE, 0, 0)); | return(SendMessage(hWnd, WM_CLOSE, 0, 0)); |
| } | } |
| break; | break; |
| Line 226 static LRESULT CALLBACK kdproc(HWND hWnd | Line 215 static LRESULT CALLBACK kdproc(HWND hWnd |
| case WM_KEYDOWN: | case WM_KEYDOWN: |
| case WM_KEYUP: | case WM_KEYUP: |
| SendMessage(hWndMain, msg, wp, lp); | SendMessage(g_hWndMain, msg, wp, lp); |
| break; | break; |
| case WM_ENTERMENULOOP: | case WM_ENTERMENULOOP: |
| Line 283 static LRESULT CALLBACK kdproc(HWND hWnd | Line 272 static LRESULT CALLBACK kdproc(HWND hWnd |
| return(0L); | return(0L); |
| } | } |
| BOOL kdispwin_initialize(HINSTANCE hPreInst) { | BOOL kdispwin_initialize(HINSTANCE hInstance) { |
| WNDCLASS wc; | WNDCLASS wc; |
| if (!hPreInst) { | ZeroMemory(&wc, sizeof(wc)); |
| ZeroMemory(&wc, sizeof(wc)); | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; |
| wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.lpfnWndProc = kdproc; |
| wc.lpfnWndProc = kdproc; | wc.cbClsExtra = 0; |
| wc.cbClsExtra = 0; | wc.cbWndExtra = NP2GWLP_SIZE; |
| wc.cbWndExtra = NP2GWLP_SIZE; | wc.hInstance = hInstance; |
| wc.hInstance = hInst; | wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); |
| wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); |
| wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); |
| wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); | wc.lpszMenuName = MAKEINTRESOURCE(IDR_KEYDISP); |
| wc.lpszMenuName = MAKEINTRESOURCE(IDR_KEYDISP); | wc.lpszClassName = kdispclass; |
| wc.lpszClassName = kdispclass; | if (!RegisterClass(&wc)) { |
| if (!RegisterClass(&wc)) { | return(FAILURE); |
| return(FAILURE); | |
| } | |
| } | } |
| keydisp_initialize(); | keydisp_initialize(); |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| void kdispwin_create(void) { | void kdispwin_create(HINSTANCE hInstance) { |
| TCHAR szCaption[128]; | |
| HWND hwnd; | HWND hwnd; |
| UINT8 mode; | UINT8 mode; |
| CMNPALFN palfn; | CMNPALFN palfn; |
| Line 317 void kdispwin_create(void) { | Line 305 void kdispwin_create(void) { |
| return; | return; |
| } | } |
| ZeroMemory(&kdispwin, sizeof(kdispwin)); | ZeroMemory(&kdispwin, sizeof(kdispwin)); |
| hwnd = CreateWindow(kdispclass, kdisptitle, | |
| loadstringresource(LOWORD(IDS_CAPTION_KEYDISP), | |
| szCaption, NELEMENTS(szCaption)); | |
| hwnd = CreateWindow(kdispclass, szCaption, | |
| WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | |
| WS_MINIMIZEBOX, | WS_MINIMIZEBOX, |
| kdispcfg.posx, kdispcfg.posy, | kdispcfg.posx, kdispcfg.posy, |
| KEYDISP_WIDTH, KEYDISP_HEIGHT, | KEYDISP_WIDTH, KEYDISP_HEIGHT, |
| NULL, NULL, hInst, NULL); | NULL, NULL, hInstance, NULL); |
| kdispwin.hwnd = hwnd; | kdispwin.hwnd = hwnd; |
| if (hwnd == NULL) { | if (hwnd == NULL) { |
| goto kdcre_err1; | goto kdcre_err1; |
| Line 350 void kdispwin_create(void) { | Line 341 void kdispwin_create(void) { |
| palfn.userdata = (long)kdispwin.dd2hdl; | palfn.userdata = (long)kdispwin.dd2hdl; |
| keydisp_setpal(&palfn); | keydisp_setpal(&palfn); |
| kdispwin_draw(0); | kdispwin_draw(0); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| return; | return; |
| kdcre_err2: | kdcre_err2: |
| Line 536 static LRESULT CALLBACK mdproc(HWND hWnd | Line 527 static LRESULT CALLBACK mdproc(HWND hWnd |
| case WM_KEYDOWN: | case WM_KEYDOWN: |
| case WM_KEYUP: | case WM_KEYUP: |
| SendMessage(hWndMain, msg, wp, lp); | SendMessage(g_hWndMain, msg, wp, lp); |
| break; | break; |
| case WM_ENTERMENULOOP: | case WM_ENTERMENULOOP: |
| Line 590 static LRESULT CALLBACK mdproc(HWND hWnd | Line 581 static LRESULT CALLBACK mdproc(HWND hWnd |
| return(0); | return(0); |
| } | } |
| BOOL mdbgwin_initialize(HINSTANCE hPreInst) { | BOOL mdbgwin_initialize(HINSTANCE hInstance) { |
| WNDCLASS wc; | WNDCLASS wc; |
| if (!hPreInst) { | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; |
| wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.lpfnWndProc = mdproc; |
| wc.lpfnWndProc = mdproc; | wc.cbClsExtra = 0; |
| wc.cbClsExtra = 0; | wc.cbWndExtra = 0; |
| wc.cbWndExtra = 0; | wc.hInstance = hInstance; |
| wc.hInstance = hInst; | wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); |
| wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); |
| wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); |
| wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); | wc.lpszMenuName = NULL; |
| wc.lpszMenuName = NULL; | wc.lpszClassName = mdbgclass; |
| wc.lpszClassName = mdbgclass; | if (!RegisterClass(&wc)) { |
| if (!RegisterClass(&wc)) { | return(FAILURE); |
| return(FAILURE); | |
| } | |
| } | } |
| memdbg32_initialize(); | memdbg32_initialize(); |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| void mdbgwin_create(void) { | void mdbgwin_create(HINSTANCE hInstance) { |
| HWND hwnd; | HWND hWnd; |
| if (mdbgwin.hwnd != NULL) { | if (mdbgwin.hwnd != NULL) { |
| return; | return; |
| } | } |
| ZeroMemory(&mdbgwin, sizeof(mdbgwin)); | ZeroMemory(&mdbgwin, sizeof(mdbgwin)); |
| memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); | memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); |
| hwnd = CreateWindow(mdbgclass, mdbgtitle, | hWnd = CreateWindow(mdbgclass, mdbgtitle, |
| WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | |
| WS_MINIMIZEBOX, | WS_MINIMIZEBOX, |
| mdbgcfg.posx, mdbgcfg.posy, | mdbgcfg.posx, mdbgcfg.posy, |
| mdbgwin.width, mdbgwin.height, | mdbgwin.width, mdbgwin.height, |
| NULL, NULL, hInst, NULL); | NULL, NULL, hInstance, NULL); |
| mdbgwin.hwnd = hwnd; | mdbgwin.hwnd = hWnd; |
| if (hwnd == NULL) { | if (hWnd == NULL) { |
| goto mdcre_err1; | goto mdcre_err1; |
| } | } |
| ShowWindow(hwnd, SW_SHOWNOACTIVATE); | ShowWindow(hWnd, SW_SHOWNOACTIVATE); |
| UpdateWindow(hwnd); | UpdateWindow(hWnd); |
| mdbgwin.dd2hdl = dd2_create(hwnd, mdbgwin.width, mdbgwin.height); | mdbgwin.dd2hdl = dd2_create(hWnd, mdbgwin.width, mdbgwin.height); |
| if (mdbgwin.dd2hdl == NULL) { | if (mdbgwin.dd2hdl == NULL) { |
| goto mdcre_err2; | goto mdcre_err2; |
| } | } |
| InvalidateRect(hwnd, NULL, TRUE); | InvalidateRect(hWnd, NULL, TRUE); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| return; | return; |
| mdcre_err2: | mdcre_err2: |
| DestroyWindow(hwnd); | DestroyWindow(hWnd); |
| mdcre_err1: | mdcre_err1: |
| return; | return; |
| Line 708 typedef struct { | Line 697 typedef struct { |
| static SKBDWIN skbdwin; | static SKBDWIN skbdwin; |
| static SKBDCFG skbdcfg; | static SKBDCFG skbdcfg; |
| static const TCHAR skbdtitle[] = _T("Soft Keyboard"); | |
| static const TCHAR skbdclass[] = _T("NP2-SoftKBDWin"); | static const TCHAR skbdclass[] = _T("NP2-SoftKBDWin"); |
| #if defined(OSLANG_UTF8) | |
| static const OEMCHAR skbdapp[] = OEMTEXT("Soft Keyboard"); | static const OEMCHAR skbdapp[] = OEMTEXT("Soft Keyboard"); |
| #else | |
| #define skbdapp skbdtitle | |
| #endif | |
| static const PFTBL skbdini[] = { | static const PFTBL skbdini[] = { |
| PFVAL("WindposX", PFTYPE_SINT32, &skbdcfg.posx), | PFVAL("WindposX", PFTYPE_SINT32, &skbdcfg.posx), |
| PFVAL("WindposY", PFTYPE_SINT32, &skbdcfg.posy), | PFVAL("WindposY", PFTYPE_SINT32, &skbdcfg.posy), |
| Line 811 static LRESULT CALLBACK skproc(HWND hWnd | Line 795 static LRESULT CALLBACK skproc(HWND hWnd |
| case WM_KEYDOWN: | case WM_KEYDOWN: |
| case WM_KEYUP: | case WM_KEYUP: |
| SendMessage(hWndMain, msg, wp, lp); | SendMessage(g_hWndMain, msg, wp, lp); |
| break; | break; |
| case WM_ENTERMENULOOP: | case WM_ENTERMENULOOP: |
| Line 865 static LRESULT CALLBACK skproc(HWND hWnd | Line 849 static LRESULT CALLBACK skproc(HWND hWnd |
| return(0L); | return(0L); |
| } | } |
| BOOL skbdwin_initialize(HINSTANCE hPreInst) { | BOOL skbdwin_initialize(HINSTANCE hInstance) { |
| WNDCLASS wc; | WNDCLASS wc; |
| if (!hPreInst) { | ZeroMemory(&wc, sizeof(wc)); |
| ZeroMemory(&wc, sizeof(wc)); | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; |
| wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.lpfnWndProc = skproc; |
| wc.lpfnWndProc = skproc; | wc.cbClsExtra = 0; |
| wc.cbClsExtra = 0; | wc.cbWndExtra = NP2GWLP_SIZE; |
| wc.cbWndExtra = NP2GWLP_SIZE; | wc.hInstance = hInstance; |
| wc.hInstance = hInst; | wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON2)); |
| wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); |
| wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); |
| wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); | wc.lpszMenuName = NULL; |
| wc.lpszMenuName = NULL; | wc.lpszClassName = skbdclass; |
| wc.lpszClassName = skbdclass; | if (!RegisterClass(&wc)) { |
| if (!RegisterClass(&wc)) { | return(FAILURE); |
| return(FAILURE); | |
| } | |
| } | } |
| softkbd_initialize(); | softkbd_initialize(); |
| return(SUCCESS); | return(SUCCESS); |
| Line 894 void skbdwin_deinitialize(void) { | Line 876 void skbdwin_deinitialize(void) { |
| softkbd_deinitialize(); | softkbd_deinitialize(); |
| } | } |
| void skbdwin_create(void) { | void skbdwin_create(HINSTANCE hInstance) { |
| TCHAR szCaption[128]; | |
| HWND hwnd; | HWND hwnd; |
| if (skbdwin.hwnd != NULL) { | if (skbdwin.hwnd != NULL) { |
| Line 905 void skbdwin_create(void) { | Line 888 void skbdwin_create(void) { |
| if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { | if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { |
| return; | return; |
| } | } |
| hwnd = CreateWindow(skbdclass, skbdtitle, | |
| loadstringresource(LOWORD(IDS_CAPTION_SOFTKEY), | |
| szCaption, NELEMENTS(szCaption)); | |
| hwnd = CreateWindow(skbdclass, szCaption, | |
| WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | |
| WS_MINIMIZEBOX, | WS_MINIMIZEBOX, |
| skbdcfg.posx, skbdcfg.posy, | skbdcfg.posx, skbdcfg.posy, |
| skbdwin.width, skbdwin.height, | skbdwin.width, skbdwin.height, |
| NULL, NULL, hInst, NULL); | NULL, NULL, hInstance, NULL); |
| skbdwin.hwnd = hwnd; | skbdwin.hwnd = hwnd; |
| if (hwnd == NULL) { | if (hwnd == NULL) { |
| goto skcre_err1; | goto skcre_err1; |
| Line 922 void skbdwin_create(void) { | Line 908 void skbdwin_create(void) { |
| goto skcre_err2; | goto skcre_err2; |
| } | } |
| InvalidateRect(hwnd, NULL, TRUE); | InvalidateRect(hwnd, NULL, TRUE); |
| SetForegroundWindow(hWndMain); | SetForegroundWindow(g_hWndMain); |
| return; | return; |
| skcre_err2: | skcre_err2: |