user32: implements WM_UNICHAR for edit.c
Hongbo Ni
hongbo at njstar.com
Wed Jul 23 06:54:39 CDT 2008
user32: implements WM_UNICHAR for edit.c
---
dlls/user32/edit.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index f1c34f8..197b5d5 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -860,6 +860,28 @@ static LRESULT WINAPI EditWndProc_common( HWND hwnd, UINT msg,
break;
}
+ case WM_UNICHAR:
+ if(wParam == UNICODE_NOCHAR)
+ return unicode? TRUE:FALSE;
+ else if(unicode)
+ {
+ UINT uc = wParam;
+ if(uc <= 0x000FFFFF)
+ {
+ if(uc > 0xFFFF) /* convert to surrogates */
+ {
+ WCHAR wc;
+ uc -= (UINT)0x00010000;
+ wc =(WCHAR)(uc >> 10) + 0xD800;
+ EDIT_WM_Char(es, wc);
+ uc =(WCHAR)(uc & 0x0000003FF) + 0xDC00;
+ }
+ EDIT_WM_Char(es, (WCHAR)uc);
+ }
+ return 0; /* should return zero if processes this message */
+ }
+ break;
+
case WM_CLEAR:
EDIT_WM_Clear(es);
break;
--
1.5.6.1.1071.g76fb
More information about the wine-patches
mailing list