タグ

2009年9月18日のブックマーク (1件)

  • IMEの状態を検出 - 七誌の開発日記

    Silverlight 3でIMEの制御は、TextBoxでの有効・無効の設定しかできません。TextBox以外からIMEを利用する方法はありません。キーストロークから文字を取得(例: [Shift]+[1]→!)する方法もありません。 このような状況でエディタを作ろうとすると、全部自前で実装するのは論外とすれば、内部でTextBoxを利用するしか方法がありません。TextBoxでTextChangedイベントが発生したら文字を取り出してエディタに取り込むことで、キーストロークから文字を取得することができます。しかし変換中の文字もTextプロパティに反映されてTextChangedイベントを発生させるため、未確定の文字を取り出す結果になってまともに変換が出来なくなってしまいます。 そのため変換中かどうかを判定して、確定するまで取り出さないようにする必要があります。APIには判定する方法が用

    IMEの状態を検出 - 七誌の開発日記
    terurou
    terurou 2009/09/18
    まぁバッドノウハウなんだけど、すごい