zoukankan      html  css  js  c++  java
  • MyGUI 3.0 支持中文显示及中文输入

    □ 更改配置文件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[i]);
    }
    ImmReleaseContext(hWnd, hIMC);
    return;
    }

    ...原有代码省略…
    }
    image
  • 相关阅读:
    作为 务注册中心,Eureka比Zookeeper好在哪里?
    什么是 Ribbon负载均衡?
    Ribbon负载均衡能干什么?
    什么是feigin?它的优点是什么?
    Ribbon和Feign的区别?
    什么是Spring Cloud Bus?
    springcloud断路器作用?
    springcloud如何实现服务的注册?
    Eureka和Zookeeper区别?
    eureka自我保护机制是什么?
  • 原文地址:https://www.cnblogs.com/tuzhiye/p/1824456.html
Copyright © 2011-2022 走看看