2006年11月07日
川俣晶の縁側ソフトウェア技術雑記 total 4236 count

Windows Mobile 5.0のCOMPOSITIONFORM構造体のdwStyleに必要な値の説明が足りない

Written By: 川俣 晶連絡先

 これは参った!

 MSDN Library 2006年8月版の"Platform Builder for Microsoft Windows CE 5.0"に含まれるCOMPOSITIONFORM構造体の説明を読んでいて、記述の不備でかなりの時間を取られました。

 ここには、dwStyleメンバーの値として、CFS_DEFAULTしか書かれていませんでした。

 しかし、この値を指定しても意図した位置に未確定文字列を移動できません。

 実際には、ドキュメントに記述されていないCFS_POINTを指定する必要がありました。

実際に書いてみたコード例 §

ZeroMemory(&compform,sizeof(compform));

compform.dwStyle = CFS_POINT;

compform.ptCurrentPos.x = rectChr.left;

compform.ptCurrentPos.y = rectChr.top;

hIMC = ImmGetContext(hWnd);

ImmSetCompositionWindow( hIMC, &compform );

ImmReleaseContext(hWnd, hIMC);

感想 §

 IMM方面のドキュメントは足りない感がありますが、ましてWindows Mobileという感じなのでしょう。