Winapi 选择更改时,马来语符号的显示也会更改

Winapi 选择更改时,马来语符号的显示也会更改,winapi,unicode,richedit,Winapi,Unicode,Richedit,当我移动所选内容时,字符间距和字符本身都会发生变化 测试项目代码: 包括 包括 类RichEditLib { hmodulelib; 公众: RichEditLib { lib=::loadLibraryRiched20.dll; } ~RichEditLib { if-lib::FreeLibrarylib; } }图书馆装载机; 类RichEdit { 公众: RichEditHWND父项 { hwnd=::CreateWindowEx NULL,//扩展窗口样式 RICHEDIT_CLAS

当我移动所选内容时,字符间距和字符本身都会发生变化

测试项目代码: 包括 包括 类RichEditLib { hmodulelib; 公众: RichEditLib { lib=::loadLibraryRiched20.dll; } ~RichEditLib { if-lib::FreeLibrarylib; } }图书馆装载机; 类RichEdit { 公众: RichEditHWND父项 { hwnd=::CreateWindowEx NULL,//扩展窗口样式 RICHEDIT_CLASSW,//已注册窗口类的名称 五十、 //窗口标题 W|u CHILD | W|u CLIPSIBLINGS | W|u clipcchildren | W|u TABSTOP| WS|VSCROLL | ES|u LEFT | ES|u MULTILINE | ES|u WANTRETURN | ES|u AUTOVSCROLL,//窗口样式 0,//x位置 0,//y位置 400,//宽度 400,//高度 父级,//所有者窗口的句柄 NULL,//菜单句柄 ::GetModuleHandleNULL,//应用程序实例 无效的 ::ShowWindowhwnd,SW_SHOW; } ~z~里奇特 { if hwnd::DestroyWindowhwnd; } 私人: HWND-HWND; }; LRESULT回调WndProcHWND hWnd、UINT uMsg、WPARAM WPARAM、LPARAM LPARAM { 开关UMSG { 案例WM_销毁: ::PostQuitMessage0; 打破 违约: return::DefWindowProchWnd、uMsg、wParam、lParam; } 返回0; } HWND CreateMainWindowHINSTANCE hInst,int CmdShow, LRESULT WINAPI*pWndProc HWND、UINT、WPARAM、LPARAM { WNDCLASSEX wc; wc.cbSize=sizeofwc; wc.style=CS_VREDRAW | CS_HREDRAW; wc.lpfnWndProc=pWndProc; wc.cbClsExtra=0; wc.cbWndExtra=0; wc.hInstance=hInst; wc.hIcon=::LoadIconNULL,IDI_应用程序; wc.hCursor=::LoadCursorNULL,IDC_箭头; wc.hbrBackground=HBRUSH::GetStockObjectWHITE\u笔刷; wc.lpszMenuName=NULL; wc.lpszClassName=LWndClass; wc.hIconSm=::LoadIconNULL,IDI_应用程序; ::注册类&wc; HWND HWND=::CreateWindowLWndClass,L, WS_重叠窗口, 100, 100, 500, 500, 零,HMENU零,hInst,零; ::ShowWindowhWnd,CmdShow; 返回hWnd; } int WINAPI WinMainHINSTANCE hInstance、hInstance HPPreInstance、LPSTR lpCmLine、int nCmdShow { HWND parent=CreateMainWindowhInstance、nCmdShow、WndProc; 重新租金; 味精; while::GetMessage&msg,NULL,0,0 { ::TranslateMessage&msg; ::DispatchMessage&msg; } 返回msg.wParam;
}RICHEDIT_CLASSW扩展到什么?尝试将其替换为LRichEdit50W。如果这没有效果,我们可以尝试其他想法。谢谢!看起来4.1版中的错误已经修复了。