輸入法屏蔽與全半角切換

    今天工做過程當中遇到了edit與combobox中只能輸入數字(全角數字也容許),不想經過全半角轉換因此只能從輸入法入手。進程

查相關資料獲得方法以下:ci

1.整個窗口禁用輸入法(下面採用進程禁用):it

   ImmDisableIME(GetCurrentThreadId());io

2.輸入法禁用全角模式:sso

    HIMC hImc;
    DWORD dwConvMode, dwSentMode;
    hImc = ImmGetContext("參數禁用的句柄");
    ImmGetConversionStatus(hImc, &dwConvMode, &dwSentMode);
    ImmSetConversionStatus(hImc, dwConvMode & ~IME_CMODE_FULLSHAPE, dwSentMode);  //取到全角模式;方法

3.輸入法直接禁用(針對指定句柄禁用)di

  CEdit *pEdit = (CEdit*)m_combobox.GetWindow(GW_CHILD);      //獲取combobox中的編輯框句柄;                                                
 if(pEdit)
 { 
  ::ImmGetContext(pEdit->GetSafeHwnd()); 
  ImmAssociateContext(pEdit->GetSafeHwnd(), NULL);
 }co

相關文章
相關標籤/搜索