private void UpdateImmPosition() { // 全局 FhImc LOGFONT vLogFont = new LOGFONT(); Imm.ImmGetCompositionFont(FhImc, ref vLogFont); vLogFont.lfHeight = 22; Imm.ImmSetCompositionFont(FhImc, ref vLogFont); // 告诉输入法当前光标位置信息 COMPOSITIONFORM vCF = new COMPOSITIONFORM(); vCF.ptCurrentPos = new POINT(FCaret.X, FCaret.Y + 5); // 输入法弹出窗体位置 vCF.dwStyle = 1; Rectangle vr = this.ClientRectangle; vCF.rcArea = new RECT(vr.Left, vr.Top, vr.Right, vr.Bottom); Imm.ImmSetCompositionWindow(FhImc, ref vCF); }
public static extern bool ImmSetCompositionWindow(IntPtr himc, ref COMPOSITIONFORM lpCompForm);