▼ActionScript 2.0メモ▼
IME制御を行う


IME制御を行うFlashを作成する。[FLASH 8]
上のテキストフィールドを選択すると、日本語入力モードに、下のテキストフィールドを選択すると英数字入力モードになる。


文字入力モード
ALPHANUMERIC_FULL 英数字の大文字
ALPHANUMERIC_HALF 英数字の小文字
CHINESE 中国語
JAPANESE_HIRAGANA ひらがな
JAPANESE_KATAKANA_FULL カタカナ
JAPANESE_KATAKANA_HALF 半角カタカナ
KOREAN 韓国語

TextFieldのイベントハンドラ
内容更新 onChanged TextFieldの内容を更新した(フォーカス時)
スクロール onScroller TextFieldのスクロール状態を変更した(フォーカス時)
フォーカス移動 onKillFocus TextFieldからフォーカスを外した
onSetFocus TextFieldにフォーカスを移した

TextFieldクラスのリスナー
onChanged テキストを変更した
onScroller スクロールした

Selectionクラスのリスナー
onSetFocus フォーカスが移動した


ソースコード
IMEEx.as
//IME制御を行う
class IMEEx {
    var tfJapanese:TextField;    //日本語
    var tfAlphaNumeric:TextField;//英数字

    //コンストラクタ
    function IMEEx(mc:MovieClip) {
        //テキストフィールドの追加
        tfJapanese    =addTextField(mc,"japanese",    "日本語",10,10,100,20);
        tfAlphaNumeric=addTextField(mc,"alphanumeric","英数字",10,40,100,20);

        //フォーカスイベントの処理
        tfJapanese.onSetFocus=function(oldFocus:Object) {
            System.IME.setConversionMode(
                System.IME.JAPANESE_HIRAGANA);
        }
        tfAlphaNumeric.onSetFocus=function(oldFocus:Object) {
            System.IME.setConversionMode(
                System.IME.ALPHANUMERIC_FULL);
        }
    }

    //テキストフィールドの追加
    private function addTextField(mc:MovieClip,name:String,text:String,
        x:Number,y:Number,w:Number,h:Number):TextField {
        mc.createTextField(name,mc.getNextHighestDepth(),x,y,w,h);
        mc[name].text      =text;
        mc[name].selectable=true;
        mc[name].border    =true;
        mc[name].type      ="input";
        return mc[name];
    } 

    //メイン
    static function main() {
        var app:IMEEx=new IMEEx(_root);
    }
}


コンパイル
mtasc -swf IMEEx.swf -main IMEEx.as -version 8 -header 240:240:30


−戻る−