在项目开发中,可能需要根据需要控制输入法窗口的位置,可以采用下面方法
if (uMsg == WM_IME_COMPOSITION)
{
// 解决微软输入法位置异常的问题
HIMC hIMC = ImmGetContext(m_hWnd);
if (hIMC)
{
// Set composition window position near caret position
POINT point;
GetCaretPos(&point);
COMPOSITIONFORM Composition;
Composition.dwStyle = CFS_POINT;
Composition.ptCurrentPos.x = point.x;
Composition.ptCurrentPos.y = point.y;
ImmSetCompositionWindow(hIMC, &Composition);
ImmReleaseContext(m_hWnd,hIMC);
}
}
参考文献:http://bbs.youkuaiyun.com/topics/350122238