참고 :
///IME 가 설치되어 있는지 확인한다
if (Capabilities.hasIME)
{
if (IME.enabled)
{
trace("IME is installed and enabled.");
}
else
{
trace("IME is installed but not enabled. Please enable your IME and try again.");
}
}
else
{
trace("IME is not installed. Please install an IME and try again.");
}
//현재 가능한 IME 판단한다.
if (Capabilities.hasIME)
{
switch (IME.conversionMode)
{
case IMEConversionMode.ALPHANUMERIC_FULL:
tf.text = "Current conversion mode is alphanumeric (full-width).";
break;
case IMEConversionMode.ALPHANUMERIC_HALF:
tf.text = "Current conversion mode is alphanumeric (half-width).";
break;
case IMEConversionMode.CHINESE:
tf.text = "Current conversion mode is Chinese.";
break;
case IMEConversionMode.JAPANESE_HIRAGANA:
tf.text = "Current conversion mode is Japananese Hiragana.";
break;
case IMEConversionMode.JAPANESE_KATAKANA_FULL:
tf.text = "Current conversion mode is Japanese Katakana (full-width).";
break;
case IMEConversionMode.JAPANESE_KATAKANA_HALF:
tf.text = "Current conversion mode is Japanese Katakana (half-width).";
break;
case IMEConversionMode.KOREAN:
tf.text = "Current conversion mode is Korean.";
break;
default:
tf.text = "Current conversion mode is " + IME.conversionMode + ".";
break;
}
}
else
{
tf.text = "Please install an IME and try again.";
}
//IME 모드 변경하기(한국어로)
if (Capabilities.hasIME)
{
try
{
IME.enabled = true;
IME.conversionMode = IMEConversionMode.KOREAN;
tf.appendText("\nConversion mode is " + IME.conversionMode + ".");
}
catch (error:Error)
{
tf.text = "Unable to set conversion mode.\n" + error.message;
}
}
// 특정 텍스트 필드에 IME 제한하기
var phoneTxt:TextField = new TextField();
var nameTxt:TextField = new TextField();
phoneTxt.type = TextFieldType.INPUT;
phoneTxt.addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
phoneTxt.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
phoneTxt.restrict = "0-9";
phoneTxt.width = 100;
phoneTxt.height = 18;
phoneTxt.background = true;
phoneTxt.border = true;
addChild(phoneTxt);
nameTxt.type = TextFieldType.INPUT;
nameTxt.x = 120;
nameTxt.width = 100;
nameTxt.height = 18;
nameTxt.background = true;
nameTxt.border = true;
addChild(nameTxt);
function focusInHandler(event:FocusEvent):void
{
if (Capabilities.hasIME)
{
IME.enabled = false;
}
}
function focusOutHandler(event:FocusEvent):void
{
if (Capabilities.hasIME)
{
IME.enabled = true;
}
}
*** 문제
IME 를 설치해도 쉽게 전환하기는 힘들다.
중국어, 한국어, 영어를 버튼 입력으로 IME.conversionMode 를 바꾸는 방법이 신통치 않다.
*** 변칙 사용 중
중국어(간체) - Microsoft Pinyin IME 를 설치한 후,
중국어 입력기와 한국어 입력기를 전환하는 윈도우 단축키 left Alt + Shift 를 사용해야 하는 건가..





