首先,请牢记阿拉伯文是从右到左,大多数语言,比如英文中文,都是从左往右
其次,如果在阿拉伯文版的Windows下开发有人格和精神分裂的倾向(部分夸大,但也有部分属实,实际效果可以自己加载阿拉伯文语言包之后体会)
第三,读取文字和显示文字还是不一样的,读取出来的样子并不一定就是显示的样子,这点很重要,也请牢记。
网上提供的显示从右到左文字的方法,实测第二种有效,环境是VS2010
方法一:
CWnd *pWnd = CWnd::FromHandle(hWnd);
pWnd->ModifyStyle(ES_LEFT, ES_RIGHT);
pWnd->ModifyStyleEx(WS_EX_LTRREADING|WS_EX_LEFT, WS_EX_RTLREADING|WS_EX_RIGHT);
方法二:
LONG lStyle = ::GetWindowLong(hWnd, GWL_EXSTYLE);
::SetWindowLong(hWnd, GWL_EXSTYLE, lStyle|WS_EX_LAYOUTRTL);
时间: 2024-10-13 16:12:25