查看: 2449|回复: 2

【转载】MyGUI 3.0 支持中文显示及中文输入

[复制链接]

该用户从未签到

发表于 2012-2-9 08:54:20 | 显示全部楼层 |阅读模式
Posted on 2010-09-12 16:48 精+灵?L 阅读(1211) 评论(3) 编辑 收藏  
□ 更改配置文件MyGUI3.0\Media\MyGUI_Media下

☆ core_font.xml添加

<Resource type="ResourceTrueTypeFont" name="font_Simhei">
        <Property key="Source" value="simhei.ttf"/>
        <Property key="Size" value="19"/>
        <Property key="Resolution" value="50"/>
        <Property key="Antialias" value="false"/>
        <Property key="SpaceWidth" value="4"/>
        <Property key="TabWidth" value="8"/>
        <Property key="CursorWidth" value="2"/>
        <Property key="Distance" value="6"/>
        <Property key="OffsetHeight" value="0"/>
        <Codes>
            <Code range="33 126"/>
            <Code range="19969 40869"/>
            <Code hide="128"/>
            <Code hide="1026 1039"/>
            <Code hide="1104"/>
        </Codes>
    </Resource>

☆ simhei.ttf要从系统目录下的Fonts拷贝到当前目录。

☆ core_settings.xml中将默认字体改成

    <MyGUI type="Font">
        <Property key="Default" value="font_Simhei"/>
    </MyGUI>

☆ mMainWidget->setCaption(L"Console颜色窗口");

□ 支持中文输入

在BaseManger.cpp中

void BaseManager::injectKeyPress(MyGUI::KeyCode _key, MyGUI::Char _text){    if (!mGUI)        return;    if(ImmIsIME(GetKeyboardLayout(0)))     {         size_t handle = 0;        mWindow->getCustomAttribute("WINDOW", &handle);        HWND hWnd = (HWND)handle;        HIMC hIMC;        DWORD dwSize;        WCHAR lpWideStr[20];        memset(lpWideStr, 0, 20);        hIMC = ImmGetContext(hWnd);        dwSize = ImmGetCompositionStringW(hIMC, GCS_RESULTSTR, NULL, 0);        dwSize += sizeof(WCHAR);        ImmGetCompositionStringW(hIMC, GCS_RESULTSTR, lpWideStr, dwSize);        for (INT i = 0; i < dwSize ;i++)         {             mGUI->injectKeyPress(_key, lpWideStr);        }         ImmReleaseContext(hWnd, hIMC);        return;    }    ...原有代码省略…}

原文地址:http://www.cnblogs.com/tuzhiye/archive/2010/09/12/1824456.html

该用户从未签到

发表于 2012-2-9 10:12:09 | 显示全部楼层
请问版主,为什么最终选择了MyGUI这样的UI,而没选择DirectUI、CEGUI、QuickGUI等这些库,MyGUI和OSG结合的效率怎么样,好像还没有大型游戏使用该UI。还望指教!

该用户从未签到

发表于 2012-2-13 10:01:28 | 显示全部楼层
一切都是见仁见智的,别人的选择不代表您的选择。OSG和那些GUI的结合都不存在什么问题,效率也不是界面开发的决定性因素
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表