--- np2/win9x/subwind.cpp 2005/02/09 20:11:35 1.11 +++ np2/win9x/subwind.cpp 2007/01/08 07:52:01 1.14 @@ -56,18 +56,23 @@ typedef struct { static KDISPWIN kdispwin; static KDISPCFG kdispcfg; -static const OEMCHAR kdispapp[] = OEMTEXT("Key Display"); -static const OEMCHAR kdispclass[] = OEMTEXT("NP2-KeyDispWin"); -static const OEMCHAR str_kdclose[] = OEMTEXT("&Close"); +static const TCHAR kdisptitle[] = _T("Key Display"); +static const TCHAR kdispclass[] = _T("NP2-KeyDispWin"); +static const TCHAR str_kdclose[] = _T("&Close"); static const UINT32 kdisppal[KEYDISP_PALS] = {0x00000000, 0xffffffff, 0xf9ff0000}; -static const INITBL kdispini[] = { - {"WindposX", INITYPE_SINT32, &kdispcfg.posx, 0}, - {"WindposY", INITYPE_SINT32, &kdispcfg.posy, 0}, - {"keydmode", INITYPE_UINT8, &kdispcfg.mode, 0}, - {"windtype", INITYPE_BOOL, &kdispcfg.type, 0}}; +#if defined(OSLANG_UTF8) +static const OEMCHAR kdispapp[] = OEMTEXT("Key Display"); +#else +#define kdispapp kdisptitle +#endif +static const PFTBL kdispini[] = { + PFVAL("WindposX", PFTYPE_SINT32, &kdispcfg.posx), + PFVAL("WindposY", PFTYPE_SINT32, &kdispcfg.posy), + PFVAL("keydmode", PFTYPE_UINT8, &kdispcfg.mode), + PFVAL("windtype", PFTYPE_BOOL, &kdispcfg.type)}; static UINT8 kdgetpal8(CMNPALFN *self, UINT num) { @@ -287,7 +292,7 @@ BOOL kdispwin_initialize(HINSTANCE hPreI wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; wc.lpfnWndProc = kdproc; wc.cbClsExtra = 0; - wc.cbWndExtra = NP2GWL_SIZE; + wc.cbWndExtra = NP2GWLP_SIZE; wc.hInstance = hInst; wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); wc.hCursor = LoadCursor(NULL, IDC_ARROW); @@ -312,7 +317,7 @@ void kdispwin_create(void) { return; } ZeroMemory(&kdispwin, sizeof(kdispwin)); - hwnd = CreateWindow(kdispclass, kdispapp, + hwnd = CreateWindow(kdispclass, kdisptitle, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, kdispcfg.posx, kdispcfg.posy, @@ -426,12 +431,18 @@ typedef struct { static MDBGWIN mdbgwin; static MDBGCFG mdbgcfg; +static const TCHAR mdbgtitle[] = _T("Memory Map"); +static const TCHAR mdbgclass[] = _T("NP2-MemDbgWin"); + +#if defined(OSLANG_UTF8) static const OEMCHAR mdbgapp[] = OEMTEXT("Memory Map"); -static const OEMCHAR mdbgclass[] = OEMTEXT("NP2-MemDbgWin"); -static const INITBL mdbgini[] = { - {"WindposX", INITYPE_SINT32, &mdbgcfg.posx, 0}, - {"WindposY", INITYPE_SINT32, &mdbgcfg.posy, 0}, - {"windtype", INITYPE_BOOL, &mdbgcfg.type, 0}}; +#else +#define mdbgapp mdbgtitle +#endif +static const PFTBL mdbgini[] = { + PFVAL("WindposX", PFTYPE_SINT32, &mdbgcfg.posx), + PFVAL("WindposY", PFTYPE_SINT32, &mdbgcfg.posy), + PFVAL("windtype", PFTYPE_BOOL, &mdbgcfg.type)}; static void mdpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { @@ -511,6 +522,18 @@ 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); @@ -567,22 +590,24 @@ static LRESULT CALLBACK mdproc(HWND hWnd return(0); } -BOOL mdbgwin_initialize(HINSTANCE hInstance) { +BOOL mdbgwin_initialize(HINSTANCE hPreInst) { WNDCLASS wc; - wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc = mdproc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = hInstance; - wc.hIcon = NULL; - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); - wc.lpszMenuName = NULL; - wc.lpszClassName = mdbgclass; - if (!RegisterClass(&wc)) { - return(FAILURE); + if (!hPreInst) { + wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; + wc.lpfnWndProc = mdproc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + 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 = mdbgclass; + if (!RegisterClass(&wc)) { + return(FAILURE); + } } memdbg32_initialize(); return(SUCCESS); @@ -597,7 +622,7 @@ void mdbgwin_create(void) { } ZeroMemory(&mdbgwin, sizeof(mdbgwin)); memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); - hwnd = CreateWindow(mdbgclass, mdbgapp, + hwnd = CreateWindow(mdbgclass, mdbgtitle, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, mdbgcfg.posx, mdbgcfg.posy, @@ -683,12 +708,18 @@ typedef struct { static SKBDWIN skbdwin; static SKBDCFG skbdcfg; +static const TCHAR skbdtitle[] = _T("Soft Keyboard"); +static const TCHAR skbdclass[] = _T("NP2-SoftKBDWin"); + +#if defined(OSLANG_UTF8) static const OEMCHAR skbdapp[] = OEMTEXT("Soft Keyboard"); -static const OEMCHAR skbdclass[] = OEMTEXT("NP2-SoftKBDWin"); -static const INITBL skbdini[] = { - {"WindposX", INITYPE_SINT32, &skbdcfg.posx, 0}, - {"WindposY", INITYPE_SINT32, &skbdcfg.posy, 0}, - {"windtype", INITYPE_BOOL, &skbdcfg.type, 0}}; +#else +#define skbdapp skbdtitle +#endif +static const PFTBL skbdini[] = { + PFVAL("WindposX", PFTYPE_SINT32, &skbdcfg.posx), + PFVAL("WindposY", PFTYPE_SINT32, &skbdcfg.posy), + PFVAL("windtype", PFTYPE_BOOL, &skbdcfg.type)}; static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { @@ -843,7 +874,7 @@ BOOL skbdwin_initialize(HINSTANCE hPreIn wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; wc.lpfnWndProc = skproc; wc.cbClsExtra = 0; - wc.cbWndExtra = NP2GWL_SIZE; + wc.cbWndExtra = NP2GWLP_SIZE; wc.hInstance = hInst; wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); wc.hCursor = LoadCursor(NULL, IDC_ARROW); @@ -874,7 +905,7 @@ void skbdwin_create(void) { if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { return; } - hwnd = CreateWindow(skbdclass, skbdapp, + hwnd = CreateWindow(skbdclass, skbdtitle, WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, skbdcfg.posx, skbdcfg.posy,