青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

勤能補拙,Expter

成都游戲Coder,記錄游戲開發過程的筆記和心得!

利用Win32消息來解決MyGui中文完整輸入

date:  3/23/2011

介紹:
    利用Win32 來處理MyGui 3.0.1的中文輸入。

實現:
    配置還是參考網上的配置,主要再加中文字體.
   如下:
□ 更改配置文件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> 


     運行Demo解決方案:   solution_directx。

       給BaseManager添加Win32消息響應函數void ProcIO(UINT messgae, WPARAM wParam, LPARAM lParam ).
      
case WM_CHAR:
        
case WM_KEYDOWN:
        
case WM_KEYUP:
            
{
                
base::BaseManager *baseManager = (base::BaseManager*)GetWindowLongPtr(hWnd, GWL_USERDATA);

                
if ( baseManager )
                    baseManager
->ProcIO( uMsg , wParam , lParam );
                
break;
            }

   ProcIO主要是對
   WM_CHAR                                   字符響應
   WM_KEYDOWN/WM_KEYUP  按鍵響應

   在處理字符響應的時候需要區分輸入法狀態和非輸入法狀態的字符響應。
case WM_CHAR:
            
{
                
if ( ImmIsIME( GetKeyboardLayout(0) ))
                    ProcChar( wParam , lParam );
                
else
                
{                     
                    MyGUI::InputManager::getInstance().injectKeyPress(MyGUI::KeyCode::Enum(scan_code), code_point);
                }
;
            }

            
break;

ProcChar函數主要處理中文。因為漢字為8個字節會響應WM_CHAR2次。需要進行組合一次。
WM_KEYDOWN:主要處理一些Widget字符輸入。同時還可以做全局鍵盤信息監控(快捷鍵).

判斷一個Widget是否可以進行字符輸入:
\MyGUIEngine\include\MyGUI_InputManager.cpp
bool     InputManager::isKeyInputCapture()
    
{
        
if!mWidgetKeyFocus ) return false;

        std::
string  strName = mWidgetKeyFocus->getTypeName();
        
if ( strName == "ComboBox" ||
            strName 
== "Edit" ||
            strName 
== "Message" ||
            strName 
== "List")
        
{
            
return true;
        }

        
return false;
    }

由于采用Win32鍵盤消息,應該屏蔽自帶OIS的。
Input\OIS\InputManager.cpp
void InputManager::captureInput()
 
{
  
if (mMouse) mMouse->capture();
  
//mKeyboard->capture();
 }

在Demo中監控按鍵消息( DemoKeeper功能是UIManager )。
void DemoKeeper::injectKeyPress(MyGUI::KeyCode _key, MyGUI::Char _text)
    
{
        
if (_key == MyGUI::KeyCode::Grave)
        
{
            mConsole
->setVisible(!mConsole->isVisible());
            
return;
        }
  
        
else if (_key == MyGUI::KeyCode::F2 )
        
{
            MyGUI::Message::createMessageBox(
"Message""Info""Press F2 ", MyGUI::MessageBoxStyle::Ok | MyGUI::MessageBoxStyle::IconInfo);
            
return;
        }

        
else if (_key == MyGUI::KeyCode::F3 )
        
{
            MyGUI::Message::createMessageBox(
"Message""Info""Press F3 ", MyGUI::MessageBoxStyle::Ok | MyGUI::MessageBoxStyle::IconInfo);
            
return;
        }


        
base::BaseManager::injectKeyPress(_key, _text);
    }


最后附上源碼解決方案:
/Files/expter/MyGuiDemo.rar

圖片:

posted on 2011-03-23 15:20 expter 閱讀(3957) 評論(3)  編輯 收藏 引用 所屬分類: 工作筆記生活筆記算法與數據結構Visual C++ 筆記MyGui

評論

# re: 利用Win32消息來解決MyGui中文完整輸入 2011-04-06 21:03 浮華后的慘怛

問師兄個問題:就是MyGUI官網上提交的Bug#50:
OgrePlatform use wireframe mode if last material use it
師兄怎么解決的?

  回復  更多評論   

# re: 利用Win32消息來解決MyGui中文完整輸入 2011-04-09 22:41 expter

@浮華后的慘怛
還沒有注意此問題呢。。  回復  更多評論   

# re: 利用Win32消息來解決MyGui中文完整輸入 2011-07-22 16:06 jjqcat

能否共享一下完整的文件,可能是個人修改不全,還是出現多余空格

謝謝  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本高清dvd不卡在线观看| 欧美成人亚洲成人日韩成人| 欧美日韩卡一卡二| 久久婷婷国产综合精品青草| 亚洲视频在线二区| 最新高清无码专区| 麻豆亚洲精品| 久久久久国色av免费观看性色| 日韩视频在线观看一区二区| 91久久国产精品91久久性色| 激情久久婷婷| 亚洲观看高清完整版在线观看| 在线观看亚洲精品视频| 亚洲激情在线激情| 一区二区精品国产| 欧美在线视频免费观看| 久久久免费观看视频| 蜜臀av国产精品久久久久| 欧美精彩视频一区二区三区| 美日韩在线观看| 欧美福利视频在线观看| 欧美午夜激情视频| 国内精品一区二区| 99视频国产精品免费观看| 久久aⅴ国产欧美74aaa| 亚洲激情视频网| 国产欧美日韩| 夜夜嗨一区二区三区| 久久精品国产999大香线蕉| 亚洲大片精品永久免费| 久久久久这里只有精品| 欧美日韩国语| 亚洲精品久久久久中文字幕欢迎你| 亚洲无线观看| 亚洲伦理在线| 欧美理论在线播放| 亚洲精品免费一区二区三区| 欧美xxxx在线观看| 久久综合狠狠综合久久综合88| 国产欧美午夜| 久久理论片午夜琪琪电影网| 亚洲男人的天堂在线aⅴ视频| 欧美午夜大胆人体| 午夜精品福利一区二区蜜股av| 一本久道久久久| 国产拍揄自揄精品视频麻豆| 亚洲专区在线| 久久精品视频在线看| 一区二区三区在线高清| 亚洲国产日韩欧美在线99| 欧美激情综合在线| 午夜在线视频观看日韩17c| 久久久精品免费视频| 亚洲永久免费| 狠狠综合久久av一区二区小说 | 看欧美日韩国产| 亚洲综合色视频| 久久亚洲精品一区二区| 99精品视频免费| 久久久久久久久综合| 欧美一级黄色网| 美女尤物久久精品| 久久久激情视频| 国产日韩欧美三级| av不卡在线观看| 亚洲二区免费| 老牛嫩草一区二区三区日本| 欧美一站二站| 国产欧美1区2区3区| 亚洲国产婷婷香蕉久久久久久99| 国产日本欧美在线观看| 亚洲丰满在线| 亚洲国产精品一区二区www在线| 亚洲欧美成人精品| 欧美一级免费视频| 国产日韩在线播放| 欧美一站二站| 美国成人毛片| 一本大道久久a久久精品综合 | 亚洲三级电影在线观看| 亚洲国产精品va在线看黑人动漫| 欧美一区二区三区日韩| 久久亚洲国产精品一区二区| 国产一区二区三区四区老人 | 欧美资源在线| 亚洲欧美伊人| 蜜桃久久av| 一区二区三区国产盗摄| 欧美亚州在线观看| 久久久精彩视频| 亚洲国产精品综合| 性久久久久久久| 国产性猛交xxxx免费看久久| 久久免费偷拍视频| 一区二区国产精品| 欧美电影在线播放| 久久狠狠一本精品综合网| 黑人一区二区三区四区五区| 欧美高清在线精品一区| 先锋a资源在线看亚洲| 亚洲日本中文字幕| 久久综合久久综合久久| 亚洲男人天堂2024| av成人免费在线观看| 国产日韩一区二区| 国产精品国码视频| 欧美日韩一区二区三区视频| 亚洲欧美日韩中文视频| 久久99伊人| 精品1区2区| 欧美不卡一卡二卡免费版| 久久综合九九| 国产精品第一区| 欧美一区二区三区视频| 99在线|亚洲一区二区| 欧美久久电影| 亚洲片区在线| 久久精品国产第一区二区三区最新章节 | 免费看亚洲片| 日韩小视频在线观看| 欧美日精品一区视频| 亚洲一区二区av电影| 日韩一区二区精品视频| 久久精品在线| 久久精品一区二区三区不卡牛牛 | 国产欧美三级| 日韩视频在线播放| 亚洲国产日韩一区二区| 久久se精品一区二区| 欧美在线1区| 日韩小视频在线观看| 国产女优一区| 欧美激情一区二区三区在线视频观看 | 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品萝li| 老司机成人网| 亚洲欧美国产一区二区三区| 亚洲人成毛片在线播放| 日韩视频在线观看一区二区| 欧美精品一区二区三区视频| 日韩系列欧美系列| 欧美国产成人精品| 亚洲国内在线| 久久久久一区二区| 久久亚洲影音av资源网| 国产精品免费一区二区三区观看| 国产精品一区亚洲| 国产日韩综合一区二区性色av| 亚洲精品乱码久久久久久| 亚洲欧美日韩国产中文在线| 亚洲欧洲日本mm| 亚洲欧美综合一区| 国产精品久久97| 久久久久久高潮国产精品视| 欧美激情一区二区三区| 久久爱另类一区二区小说| 欧美日韩国内自拍| 日韩视频欧美视频| 亚洲美女毛片| 欧美日韩国产精品成人| 亚洲一区二区三区777| 日韩视频中文| 国产精品久久久久久久久免费| 午夜激情综合网| 久久精品国产2020观看福利| 伊人精品久久久久7777| 91久久精品久久国产性色也91| 亚洲免费在线视频一区 二区| 亚洲综合电影| 亚洲大胆av| 午夜在线视频一区二区区别| 黄色日韩在线| 这里只有精品电影| 在线国产亚洲欧美| 一本大道av伊人久久综合| 激情欧美丁香| 亚洲一区中文| 亚洲毛片一区二区| 久久亚洲一区二区| 性xx色xx综合久久久xx| 免费成人高清| 久久久久五月天| 国产欧美91| 一本色道久久综合狠狠躁篇的优点 | 久久亚洲综合色一区二区三区| 欧美在线中文字幕| 欧美视频免费在线观看| 蜜乳av另类精品一区二区| 国产精品美女久久久浪潮软件| 免费日韩精品中文字幕视频在线| 国产精品久久网| 在线视频亚洲欧美| 亚洲视频一区二区在线观看 | 午夜精彩视频在线观看不卡 | 亚洲国产精选| 裸体歌舞表演一区二区| 亚洲成色777777女色窝| 亚洲国产精品传媒在线观看 | 久久www免费人成看片高清| 欧美在线视频a|