投稿者:KNIGHT 投稿日:2024/03/09(Sat) 20:51:23 No.2345
御世話になります。
ウィンドウ内に配置した、テキスト部品やテキスト領域部品で、自動的に入力内容に応じたIME設定にするために、設定項目の[動作]-[IME状態]を設定するのですが、それが、プログラム実行時に反映されません。
例えば、以下のようなプログラムで、「身長」、「体重」の入力項目で、『IME状態を「半角英数字」に変える』のですが、IME状態は切り替わることなく、普通に漢字を入力することができてしまいます。
〜〜〜
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
初期化開始する
この内容を「メイン画面」に変える
この文字色を「標準の文字」に変える
テキスト2というテキストを作る
その位置と大きさを{76,55,56,19}に変える
その移動順を3に変える
そのIME状態を「半角英数字」に変える
ラベル2というラベルを作る
その位置と大きさを{23,54,35,15}に変える
その内容を「体重」に変える
その移動順を2に変える
その文字色を「標準の文字」に変える
テキスト1というテキストを作る
その位置と大きさを{78,26,55,19}に変える
その移動順を1に変える
そのIME状態を「半角英数字」に変える
ラベル1というラベルを作る
その位置と大きさを{24,27,35,16}に変える
その内容を「身長」に変える
その移動順を4に変える
その文字色を「標準の文字」に変える
初期化終了する
終わり
終わり
〜〜〜
上記プログラムでは、「そのIME状態を「半角英数字」に変える」というスクリプトが自動生成されていますが、プログラム実行時にはIME状態は「半角英数字」にはなりません。
プロデルでは、入力項目のIME状態の制御ができないのでしょうか?
修正できるのならば、よろしくお願いいたします。
投稿者:ゆうと 投稿日:2024/03/15(Fri) 04:18:36 No.2347
こんにちは
> ウィンドウ内に配置した、テキスト部品やテキスト領域部品で、自動的に入力内容に応じたIME設定にするために、設定項目の[動作]-[IME状態]を設定するのですが、それが、プログラム実行時に反映されません。
> プロデルでは、入力項目のIME状態の制御ができないのでしょうか?
> 修正できるのならば、よろしくお願いいたします。
サンプルプログラムありがとうございます。質問の意図を正確に理解する際にとても助かります。
仕様を確認したところ、Windows8以降の仕様により、この設定項目は無視されるようです。
つまりプロデル側からIMEのモードを変えることは基本的にできません。
なお「無効」だけは有効となりますので、半角英数字でさせたい場合にはこの列挙値で設定してください。
以上です。
投稿者:KNIGHT 投稿日:2024/03/15(Fri) 19:24:02 No.2348
ゆうとさま、お返事をありがとうございます。
> 仕様を確認したところ、Windows8以降の仕様により、この設定項目は無視されるようです。
> つまりプロデル側からIMEのモードを変えることは基本的にできません。
あ〜、そうなんですか、残念です。
> なお「無効」だけは有効となります。
冗談のようなお答えですね。「無効だけが有効」とは、これ如何に!?
ありがとございました。
- WebForum -