[[TableOfContents]] == 영어 입력 == attachment:IME1.png == 한글 입력 1 == attachment:IME2.png == 한글 입력 2 == attachment:IME3.png == 한글 입력 3 == attachment:IME4.png == 한글 입력 4 == attachment:IME5.png == 일본어 히라가라 입력 1 == attachment:IME6.png == 일본어 히라가라 입력 2 == attachment:IME7.png == 일본어 히라가라 입력 3 == attachment:IME8.png == TIP == === 조합 중인 문자 제거 === {{{#!vim cpp const HIMC hIMC = ::ImmGetContext( m_hWnd ); ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0); ::ImmReleaseContext( m_hWnd, hIMC ); }}} === 조합 윈도우 위치 조정 === {{{#!vim cpp /// @brief 조합 윈도우의 위치를 설정한다. /// @param x 조합 윈도우 시작 x위치값 /// @param y 조합 윈도우 시작 y위치값 void SetCompositionWindow(const int & x, const int & y) { HIMC hImc; COMPOSITIONFORM cf; memset(&cf, 0, sizeof(COMPOSITIONFORM)); cf.dwStyle = CFS_POINT; cf.ptCurrentPos.x = x; // x cf.ptCurrentPos.y = y; // y hImc = ImmGetContext(g_hWndMain); // 조합 윈도우의 위치를 설정한다. ImmSetCompositionWindow(hImc, &cf); ImmReleaseContext(g_hWndMain, hImc); } }}} === 후보 윈도우 위치 조정 === {{{#!vim cpp /// @brief 후보 윈도우의 위치를 설정한다. /// @param x 후보 윈도우 시작 x위치값 /// @param y 후보 윈도우 시작 y위치값 void SetCandidateWindow(const int & x, const int & y) { HIMC hImc = ImmGetContext(g_hWndMain); CANDIDATEFORM cf; memset(&cf, 0, sizeof(CANDIDATEFORM)); cf.dwStyle = CFS_CANDIDATEPOS; cf.ptCurrentPos.x = x; cf.ptCurrentPos.y = x; ImmSetCandidateWindow(hImc, &cf); ImmReleaseContext(g_hWndMain, hImc); } }}} == 샘플 소스 == attachment:IME_src.zip == 참고 링크 == [http://msdn2.microsoft.com/en-us/library/ms776076.aspx MSDN Input Method Editor (IME) Functions] [http://msdn2.microsoft.com/en-us/library/ms776094.aspx MSDN Input Method Editor (IME) Reference] [http://forums.belution.com/ja/vc/000/083/98s.shtml 일본 커뮤니티?] 번역기 돌려서 보세요^^ == 게시판 == [[Comment]]