ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SIP 설정하기
    공장 이야기 2009. 10. 12. 17:29

    BOOL SetSIPControl(HWND wndWindow, BOOL bConversion, BOOL bShow)
    {
            HIMC imcSip = 0;
     
            imcSip = ::ImmGetContext(wndWindow);
            if(TRUE == bConversion)
                    ::ImmSetConversionStatus(imcSip, IME_CMODE_NATIVE, NULL);
            else
                    ::ImmSetConversionStatus(imcSip, IME_CMODE_ALPHANUMERIC, NULL);
            ::ImmReleaseContext(wndWindow, imcSip);

     

            if(TRUE == bShow)
                    ::SipShowIM(SIPF_ON);
            else
                    ::SipShowIM(SIPF_OFF);

            return TRUE;
    }

     

    BOOL GetSIPState(HWND wndWindow)
    {
            HIMC  imcSip       = 0;
            DWORD dwSentence   = 0;
            DWORD dwConversion = 0;

     

            imcSip = ::ImmGetContext(wndWindow);
            ::ImmGetConversionStatus(imcSip, &dwConversion, &dwSentence);
            ::ImmReleaseContext(wndWindow, imcSip);

     

            if( dwConversion & IME_CMODE_NATIVE )
                    return TRUE;  // 한글

            return FALSE;  // 영문
    }

     

    정확히 말하자면 IME_CMODE_NATIVE 가 한글은 아닙니다. 말그대로 NATIVE죠.^^ 한글 OS에선 한글 자판이라는 의미 겠죠? Define 된 곳을 가보면 아래와 같습니다.

     

    // bit field for conversion mode
    #define IME_CMODE_ALPHANUMERIC          0x0000
    #define IME_CMODE_NATIVE                0x0001
    #define IME_CMODE_CHINESE               IME_CMODE_NATIVE
    // IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually.
    #define IME_CMODE_HANGEUL               IME_CMODE_NATIVE
    #define IME_CMODE_HANGUL                IME_CMODE_NATIVE
    #define IME_CMODE_JAPANESE              IME_CMODE_NATIVE

    '공장 이야기' 카테고리의 다른 글

    아 지롤 같은 Data Abort...  (0) 2009.11.23
    T*OMNLA에서 PPP 연결...  (0) 2009.10.30
    자주 사용하는 메크로...  (0) 2009.09.30
    Windows Mobile에서 유니코드 변환  (0) 2009.09.29
    Windows Mobile 에서 DC를 Bitmap 저장  (0) 2009.09.21
Designed by Tistory.