ATOM RegisterClassExM(CONST WNDCLASSEXA * v0)\r
{\r
ATOM r = 0;\r
+ wchar_t* pw0 = NULL;\r
+ wchar_t* pw1 = NULL;\r
+ WNDCLASSEXW a0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
- r = RegisterClassExA(v0);\r
+ a0.cbSize = sizeof(WNDCLASSEXW);\r
+ a0.style = v0->style;\r
+ a0.lpfnWndProc = v0->lpfnWndProc;\r
+ a0.cbClsExtra = v0->cbClsExtra;\r
+ a0.cbWndExtra = v0->cbWndExtra;\r
+ a0.hInstance = v0->hInstance;\r
+ a0.hIcon = v0->hIcon;\r
+ a0.hCursor = v0->hCursor;\r
+ a0.hbrBackground = v0->hbrBackground;\r
+ pw0 = DuplicateMtoW(v0->lpszMenuName, -1);\r
+ a0.lpszMenuName = pw0;\r
+ pw1 = DuplicateMtoW(v0->lpszClassName, -1);\r
+ a0.lpszClassName = pw1;\r
+ a0.hIconSm = v0->hIconSm;\r
+ r = RegisterClassExW(&a0);\r
END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ FreeDuplicatedString(pw1);\r
return r;\r
}\r
\r
{\r
LONG r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = GetWindowLongW(hWnd, nIndex);\r
else\r
{\r
LONG r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = SetWindowLongW(hWnd, nIndex, dwNewLong);\r
else\r
{\r
LONG_PTR r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = GetWindowLongPtrW(hWnd, nIndex);\r
else\r
{\r
LONG_PTR r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = SetWindowLongPtrW(hWnd, nIndex, dwNewLong);\r
else\r
{\r
LRESULT r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = DefWindowProcW(hWnd, Msg, wParam, lParam);\r
else\r
{\r
LRESULT r = 0;\r
START_ROUTINE\r
- // WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
r = CallWindowProcW(lpPrevWndFunc, hWnd, Msg, wParam, lParam);\r
else\r
{\r
BOOL r = FALSE;\r
wchar_t* pw0 = NULL;\r
+ wchar_t* pw1 = NULL;\r
CHOOSEFONTW a0;\r
LOGFONTW* pwlf;\r
START_ROUTINE\r
a0.rgbColors = v0->rgbColors;\r
a0.lCustData = v0->lCustData;\r
a0.lpfnHook = v0->lpfnHook;\r
- a0.lpTemplateName = DuplicateMtoW(v0->lpTemplateName, -1);\r
+ pw0 = DuplicateMtoW(v0->lpTemplateName, -1);\r
+ a0.lpTemplateName = pw0;\r
a0.hInstance = v0->hInstance;\r
- a0.lpszStyle = DuplicateMtoWBuffer(v0->lpszStyle, -1, LF_FACESIZE * 4);\r
+ pw1 = DuplicateMtoWBuffer(v0->lpszStyle, -1, LF_FACESIZE * 4);\r
+ a0.lpszStyle = pw1;\r
a0.nFontType = v0->nFontType;\r
a0.nSizeMin = v0->nSizeMin;\r
a0.nSizeMax = v0->nSizeMax;\r
TerminateStringM(v0->lpLogFont->lfFaceName, LF_FACESIZE);\r
}\r
v0->rgbColors = a0.rgbColors;\r
- WtoM(v0->lpszStyle, LF_FACESIZE, a0.lpszStyle, -1);\r
+ WtoM(v0->lpszStyle, LF_FACESIZE, pw1, -1);\r
TerminateStringM(v0->lpszStyle, LF_FACESIZE);\r
v0->nFontType = a0.nFontType;\r
if(pwlf)\r
free(pwlf);\r
- FreeDuplicatedString((void*)a0.lpTemplateName);\r
- FreeDuplicatedString(a0.lpszStyle);\r
END_ROUTINE\r
FreeDuplicatedString(pw0);\r
+ FreeDuplicatedString(pw1);\r
return r;\r
}\r
\r