質問ページ / 151


質問ページ / 151

質問ページ/151

概要TextField?.onSetFocus? ハンドラ 
投稿者Felix?
状態質問
カテゴリーActionScript
投稿日2007-01-01 (月) 22:31:50
バージョン1.36

質問内容

テキストボックスにフォーカスされたときに、IMEモードを切り替えたいと思っています。(Flash8.0から機能追加されたものです。)

以下、AS文です。

Selection.setFocus("simei");
this.createTextField("theField_text",20,50,50,100,20);
this.theField_text.type="input";
this.theField_text.border="ture";
this.theField_text.onSetFocus=function(simei){
	trace("ok"); //たどり着けません。
	System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);  // //単独ではIME起動成功を確認しています。
};
-

IME起動部分は、単独ではうまくいくのを確認していますので、 onSetFocus?() の部分だと思っています。ハンドラの引数は、oldFocus のオブジェクトが入ることになっているのですが、いろいろ試してみましたが、どれもうまくいきませんでした。

どなたかお分かりになる方がいらっしゃれば、教えていただければ幸いです。

回答

  • Selection.setFocus("simei"); -- 2007-01-01 (月) 22:35:47
  • this.createTextField?("theField_text",20,50,50,100,20); -- 2007-01-01 (月) 22:36:13
  • this.theField_text.type="input"; -- 2007-01-01 (月) 22:36:54
  • this.theField_text.onSetFocus?=function(simei){ -- 2007-01-01 (月) 22:37:03
  • System.IME.setConversionMode?(System.IME.JAPANESE_HIRAGANA); -- 2007-01-01 (月) 22:37:19
  • } -- 2007-01-01 (月) 22:37:36
  • やってみたら「ok」が表示されたんだけど・・・? -- 2007-01-01 (月) 23:09:42
  • 早速のご回答ありがとうございます。できたとのことで、私も 1.新規ファイルを作成し、プロジェクトのプロパティで、SWFバージョンを FLA8.0  に設定。2.フレーム1に”アクション挿入” アクションは <スクリプト>を選択 3.そのスクリプトに、上記ASを記入(最後にthis.stop() を追記)  とやってみましたが、トレースには"ok" 表示されず、IMEモードも切り替えは起きませんでした。 何か他の原因があるのでしょうか?もしお心あたりがあれば是非おしえてくださいませ。 -- 2007-01-01 (月) 23:37:47
  • もしかして、こういうことをしたいのかな、と思った。
    this.createTextField("theField_text",20,50,50,100,20);
    this.theField_text.type="input";
    this.theField_text.border=true;
    this.theField_text.text="テスト"; //わかりやすくするために
    Selection.setFocus(theField_text._target);
    System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
    
    this.theField_text.onSetFocus=function(){
    	System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
    };

SA以外だと思ったとおりの挙動をしてくれないんだけど(ParaFlaのプレビューでもムリだった)-- 2007-01-02 (火) 08:15:13

  • 丁寧なご回答ありがとうございました。<br>6行目のIMEは起動しますね。その下の onSetFocus? は やはりうまくいかないのが残念です。PlaFla?はすばらしいフリーソフトなので今後の展開に期待したいと思います。 -- Felix? 2007-01-02 (火) 11:53:36