Windows_IME
9.1. Á¶ÇÕ ÁßÀÎ ¹®ÀÚ Á¦°Å ¶
const HIMC hIMC = ::ImmGetContext( m_hWnd );
ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
::ImmReleaseContext( m_hWnd, hIMC );
9.2. Á¶ÇÕ À©µµ¿ì À§Ä¡ Á¶Á¤ ¶
/// @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);
}
9.3. Èĺ¸ À©µµ¿ì À§Ä¡ Á¶Á¤ ¶
/// @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);
}
11. Âü°í ¸µÅ© ¶![]() ![]() ![]() |
You have a deep appreciation of the arts and music. |