--- mstools/samples/sdktools/ddespy/testsubs.c 2018/08/09 18:24:28 1.1.1.1 +++ mstools/samples/sdktools/ddespy/testsubs.c 2018/08/09 18:27:26 1.1.1.2 @@ -4,6 +4,7 @@ * String formatting class, window procedure and helper functions */ +#define UNICODE #include #include #include @@ -11,7 +12,7 @@ #include "ddespy.h" #include "globals.h" -#define OFF2P(psw, off) ((char *)psw + off) +#define OFF2P(psw, off) ((TCHAR *)psw + off) #define BOUND(n, min, max) ((n) < (min) ? (min) : ((n) > (max) ? (max) : n)) INT cyChar; /* Height of a line */ @@ -41,7 +42,7 @@ BOOL InitTestSubs() cls.hCursor = LoadCursor(NULL, IDC_ARROW); cls.hbrBackground = (HBRUSH)COLOR_WINDOW; cls.lpszMenuName = NULL; - cls.lpszClassName = RefString(IDS_STRINGCLASS); + cls.lpszClassName = (LPCTSTR) RefString(IDS_STRINGCLASS); if (!RegisterClass((WNDCLASS FAR * ) & cls)) return(FALSE); @@ -53,7 +54,7 @@ BOOL InitTestSubs() VOID CloseTestSubs( HANDLE hInst) { - UnregisterClass(RefString(IDS_STRINGCLASS), hInst); + UnregisterClass((LPCTSTR) RefString(IDS_STRINGCLASS), hInst); } @@ -64,7 +65,7 @@ VOID NextLine( STRWND *psw) if (psw->offBottomLine == psw->offBufferMax) psw->offBottomLine = psw->offBuffer; psw->offOutput = psw->offBottomLine; - *OFF2P(psw, psw->offOutput) = '\0'; + *OFF2P(psw, psw->offOutput) = TEXT('\0'); } @@ -76,7 +77,7 @@ VOID NextLine( STRWND *psw) * with wsprintf(). \***************************************************************************/ -VOID DrawString( HWND hwnd, CHAR *sz) +VOID DrawString( HWND hwnd, TCHAR *sz) { register STRWND *psw; INT cLines = 1; @@ -88,11 +89,11 @@ VOID DrawString( HWND hwnd, CHAR *sz) NextLine(psw); while (*sz) { switch (*sz) { - case '\r': + case TEXT('\r'): break; - case '\n': - *OFF2P(psw, psw->offOutput++) = '\0'; + case TEXT('\n'): + *OFF2P(psw, psw->offOutput++) = TEXT('\0'); NextLine(psw); cLines++; break; @@ -102,7 +103,7 @@ VOID DrawString( HWND hwnd, CHAR *sz) } sz++; } - *OFF2P(psw, psw->offOutput++) = '\0'; + *OFF2P(psw, psw->offOutput++) = TEXT('\0'); LocalUnlock(hpsw); ScrollWindow(hwnd, 0, -((cyChar + cyDescent) * cLines), (LPRECT)NULL, @@ -250,7 +251,8 @@ BOOL StrWndCreate(HWND hwnd, INT cchLine STRWND *psw; HANDLE hpsw; - if ((hpsw = LocalAlloc(LMEM_MOVEABLE, sizeof(STRWND) + cchLine * cLine)) == NULL) + if ((hpsw = LocalAlloc(LMEM_MOVEABLE, sizeof(STRWND) + + (sizeof (TCHAR) * cchLine * cLine))) == NULL) return(FALSE); SetWindowLong(hwnd, 0, (UINT)hpsw); @@ -284,7 +286,7 @@ VOID ClearScreen(register STRWND *psw) */ off = psw->offBuffer; while (off < psw->offBufferMax) { - *OFF2P(psw, off) = '\0'; + *OFF2P(psw, off) = TEXT('\0'); off += psw->cchLine; } } @@ -325,7 +327,7 @@ VOID PaintStrWnd( HWND hwnd, LPPAINTSTRU rcOut.bottom = y + cyDescent; rcOut.right = 1000; rcOut.top = y - cyChar; - DrawText(pps->hdc, (LPSTR)OFF2P(psw, off), -1, (LPRECT)&rcOut, + DrawText(pps->hdc, (LPTSTR)OFF2P(psw, off), -1, (LPRECT)&rcOut, DT_LEFT | DT_VCENTER | DT_NOCLIP | DT_EXPANDTABS | DT_EXTERNALLEADING | DT_NOPREFIX | DT_TABSTOP | 0x0400); }