ビットウォークさん、山本さん、色々ありがとうございます。
非常に素早い対応で驚きました。
IME に関する衝撃の事実を知ってしまったらしいPegです。
>> 日本語入力ボックスの表示位置=カレット位置では…
> カーソル位置を計算するときにオフセットの加減算が
> 抜けてしまったことが原因です。
つまり、カーソル位置は自前で再計算しているのですね。
多分、そうなのでは と思ってたのですが…
そうだ。 初期の説明で「親ウインドウ内にとどまる」と
書いたのですが、これは「toplevelウインドウ内に…」の誤りです。
親ウインドウ(例:フレーム)内と言うことでは無いです。
・
今、頂いたパッチを当てて、MinGW 1.1 環境で
作成してみたもので確認してみました。
(gcc 3.1 だと何故かコンパイルエラーになってしまい
作成出来ないので、MinGW 1.1(gcc 2.95.3-6)を使用)
結果、今回挙げた現象については改善されました。
> 他のウィジェットではどうでしょう?
> text widget(-wrap none)は大丈夫そうですけど...
text それと、 新しい spinbox についても確認しました。
念の為、 tk_getOpenFile tk_getSaveFile の入力部も確認しましたが、
こちらも、今回挙げた現象については問題無いようです。
めでたし、めでたし。
・
と思っていたのですが、別の動作でカレット位置が狂う現象を目撃(-o-;
まれに起きる程度のもので、重要度は低いですが挙げておきます。
色々、細かいことを言って申し訳ないですが、
時間が空いている時に確認してみて下さい。
ちなみに、画像のアドレスは前と同じです。
・ime06.jpg
entry を 単純に pack したサンプル。【あ】を入力。(正常)
・ime07.jpg
【あ】入力後にウインドウサイズを変えて【い】を入力。
カレット位置がおかしい(前の座標から計算されている?)
・ime08.jpg
以下のスクリプトを実行して、text に1文字ずつ入力。
frame .f -width 200
text .t
pack .f .t -side left
カレット位置がおかしい。
この場合は【あ】の下くらいに【わ】が表示されるはず。
・ime09.jpg
カレットは5行目にあります。(正常)
・ime10.jpg
(カレットが見えなくなるまで)ウインドウサイズを変えて
文字を入力してみると、IMEウインドウが突如表示される。
・ime11.jpg
【あ】を連打。未確定状態(一般的な表示の例)
・ime12.jpg
上記と同じく【あ】を連打。未確定状態(Tcl/Tkの場合)
微妙に入力窓の改行がおかしい。
(横幅=ウインドウの横幅? になっている?)
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
地球に向かう子供達 Peg email : peg@...
http://www.geocities.co.jp/SiliconValley-Cupertino/3335/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/