▼ 雪華さん
私のデフォルトのIMEはWXG4です.これですとご希望の様に動作します.
以下の説明の方法でもうまくいきます.
で,MS-IME2000でやってみました.IMEの入力位置,変換ウィンドウなどは
SetImeCompositionWindow
を使用しますが,このメソッドの引数の座標値の他に,スタイルの設定が
ありますが,これはIMM.pasの中で定義されています.
{ bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW }
{$EXTERNALSYM CFS_DEFAULT}
CFS_DEFAULT = $0000;
{$EXTERNALSYM CFS_RECT}
CFS_RECT = $0001;
{$EXTERNALSYM CFS_POINT}
CFS_POINT = $0002;
CFS_SCREEN = $0004; { removed in 4.0 SDK }
{$EXTERNALSYM CFS_FORCE_POSITION}
CFS_FORCE_POSITION = $0020;
{$EXTERNALSYM CFS_CANDIDATEPOS}
CFS_CANDIDATEPOS = $0040;
{$EXTERNALSYM CFS_EXCLUDE}
CFS_EXCLUDE = $0080;
全部試しましたがダメです.MS-IMEでは,Editの右端の次の入力は,
次の行とみなして,強制的に次行の左端にいくようです.
これは,
> delphiのeditでは、最初に打ち込む平仮名表示が枠内に現れます
> このようにしたいのですが...
ですが,DelphiのTEditでも同じです,TEditの右端に入りきらない長さの
文字列を(変換前の)入力をして下さい.右端を越えるものは次行の左端に
移動して表示されるハズです.
つま.これはMS-IMEの仕様ですね.どうしようも有りません.
もし,方法があるとすれば,右端の右に仮の(透明な)入力コントロールで
も生成して行うしかありませ.しかし,この方法でも,TEditと同じで,
変換前の入力文字数の問題が残ります.
以上です.
|