GUIテキストフィールドに、日本語を入力するときの問題
診断人  2016/08/16(Tue) 00:16
Siv3D(March 2016)を使用しています。


GUIテキストフィールドに、日本語を入力するとき、添付した画像のように、変換前の文字が端に表示されてしまいます。変換前でもテキストフィールド内に表示されるようにすることは可能でしょうか?



記事編集
Reputeless  2016/08/17(Wed) 21:31
ご提案ありがとうございます。
入力中のテキストの情報が左上に表示されるのは仕様です。
IME の動作と Siv3D のプログラムがそれぞれ独立しているためです。

将来的には、入力文字と連動して位置が変わる機能を計画しています。
完全な解決ではありませんが、次期バージョンで、表示位置を任意位置(テキストフィールドの真上など、なるべく近く)
に設定する機能を実装できないか、調査・検討を始めました。
編集
診断人  2016/08/18(Thu) 14:22
ありがとうございます。表示位置を任意に選択できるようにするだけで、だいぶ改善されると思います。よろしくお願いいたします。
編集
Reputeless  2016/08/19(Fri) 23:42
アップデートです。
次期バージョン Siv3D August 2016 に、入力文字を表示する位置を設定する
IME::SetCompositionWindowPos(const Point&) 関数を追加しました。
以下のようなコードで、テキストエリアの近くに表示できるようになりました。

# include <Siv3D.hpp>

void Main()
{
Graphics::SetBackground(Color(160, 200, 100));

GUI gui(GUIStyle::Default);
gui.setTitle(L"タイトル");
gui.add(L"text", GUITextField::Create(6));

while (System::Update())
{
IME::SetCompositionWindowPos(gui.getPos());
}
}

今後も改善を続けていきます。

(参考画像)



編集
診断人  2016/10/07(Fri) 01:14
Siv3D August 2016 v2で動作することを確認しました。ご対応ありがとうございました!
編集
件名
Re: GUIテキストフィールドに、日本語を入力するときの問題
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -