輸入法控制

 

WMIMECOMPOSITION消息的處理

//---------------------------------------------------------------------------
void TForm1::WMIMEENDCOMPOSITION(TMessage & msg)
{
        IMEFlag 
= true;
        HIMC   hImc;
        DWORD   dwSize;
        
char   *Buf;

        hImc   
=   ImmGetContext(GetActiveWindow());
        dwSize   
=   ImmGetCompositionString(hImc,   GCS_RESULTSTR,   NULL,   0);
        Buf   
=   new   char[dwSize   +   1];

        ImmGetCompositionString(hImc,   GCS_RESULTSTR,   (LPVOID)Buf,   dwSize);

        Buf[dwSize]   
=   '

 WMIMEENDCOMPOSITION的消息處理

 

void TForm1::WMIMEENDCOMPOSITION(TMessage & msg)
{
        IMEFlag 
= true;
        HIMC   hImc;
        DWORD   dwSize;
        
char   *Buf;

        hImc   
=   ImmGetContext(GetActiveWindow());
        dwSize   
=   ImmGetCompositionString(hImc,   GCS_RESULTSTR,   NULL,   0);
        Buf   
=   new   char[dwSize   +   1];

        ImmGetCompositionString(hImc,   GCS_RESULTSTR,   (LPVOID)Buf,   dwSize);

        Buf[dwSize]   
=   '

控制判斷輸入的是否爲英語以外

keydown:flag =false

wm_ime_endcomposition:flag =true

keypress:判斷flag

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章