IMEモードの切り替えをWindows 8以降の環境で行う方法
対象製品
InputMan for Windows Forms 7.0J
詳細
Windows 7以前のOSではIMEモードがスレッド単位で保持されていましたが、Windows 8以降のOSではユーザー単位で保持されるように仕様が変更されています。この変更によって、ImeModeプロパティによるIMEモードの切り替えが動作しない場合があります。
IMEの切り替えをWindows 8以降の環境で行うには、下記のいずれかの方法にて対応します。
・ImeModeプロパティの設定によってIMEモードを切り替える
ImeModeプロパティの設定によって、Windows 7以前のOSと同じようにIMEモードの切り替えを行うには、コントロールパネルの設定を変更してIMEモードをスレッド単位で保持するようにします。
・IMEコンポーネントのInputScopeプロパティを設定する
InputMan for Windows Forms 7.0Jは Service Pack 1から、Windows 8以降の環境でIMEモードをユーザー単位で保持した状態でもIMEモードを切り替える機能として、IMEコンポーネントのInputScopeプロパティを提供します。InputScopeプロパティを設定することでWindows 7以前のOSと同じようにIMEモードを切り替えることが可能です。
[Visual Basic]
' GcTextBox1のIMEモードをひらがなに設定します。
GcIme1.SetInputScope(GcTextBox1, GrapeCity.Win.Editors.InputScopeNameValue.Hiragana)
[C#]
// gcTextBox1のIMEモードをひらがなに設定します。
gcIme1.SetInputScope(gcTextBox1, GrapeCity.Win.Editors.InputScopeNameValue.Hiragana);
ImeModeプロパティとInputScopeプロパティの両方が変更されているとき、通常はInputScopeプロパティの設定が優先されるため、ImeModeプロパティの設定を優先するにはInputScopeプロパティの値をDefaultに設定します。
ImeModeプロパティがDisableに設定されているときは、InputScopeプロパティの値がDefault以外の場合でもIMEモードが無効になる場合があります。InputScopeプロパティの設定を優先したい場合は、ImeModeプロパティをDisable以外に設定する必要があります。
なお、InputScope プロパティはWindows 8以降の環境でサポートされます。
また、InputScopeプロパティはタッチキーボードの表示に影響します。たとえばInputScopeプロパティでIMEモードを半角数字にしたとき、タッチキーボードを表示する数字キーボードが表示されます。
InputScopeプロパティの詳細や制限事項については、製品ヘルプやリリースノートの「制限事項と注意点」をご覧ください。
IMEの切り替えをWindows 8以降の環境で行うには、下記のいずれかの方法にて対応します。
・ImeModeプロパティの設定によってIMEモードを切り替える
ImeModeプロパティの設定によって、Windows 7以前のOSと同じようにIMEモードの切り替えを行うには、コントロールパネルの設定を変更してIMEモードをスレッド単位で保持するようにします。
・IMEコンポーネントのInputScopeプロパティを設定する
InputMan for Windows Forms 7.0Jは Service Pack 1から、Windows 8以降の環境でIMEモードをユーザー単位で保持した状態でもIMEモードを切り替える機能として、IMEコンポーネントのInputScopeプロパティを提供します。InputScopeプロパティを設定することでWindows 7以前のOSと同じようにIMEモードを切り替えることが可能です。
[Visual Basic]
' GcTextBox1のIMEモードをひらがなに設定します。
GcIme1.SetInputScope(GcTextBox1, GrapeCity.Win.Editors.InputScopeNameValue.Hiragana)
[C#]
// gcTextBox1のIMEモードをひらがなに設定します。
gcIme1.SetInputScope(gcTextBox1, GrapeCity.Win.Editors.InputScopeNameValue.Hiragana);
ImeModeプロパティとInputScopeプロパティの両方が変更されているとき、通常はInputScopeプロパティの設定が優先されるため、ImeModeプロパティの設定を優先するにはInputScopeプロパティの値をDefaultに設定します。
ImeModeプロパティがDisableに設定されているときは、InputScopeプロパティの値がDefault以外の場合でもIMEモードが無効になる場合があります。InputScopeプロパティの設定を優先したい場合は、ImeModeプロパティをDisable以外に設定する必要があります。
なお、InputScope プロパティはWindows 8以降の環境でサポートされます。
また、InputScopeプロパティはタッチキーボードの表示に影響します。たとえばInputScopeプロパティでIMEモードを半角数字にしたとき、タッチキーボードを表示する数字キーボードが表示されます。
InputScopeプロパティの詳細や制限事項については、製品ヘルプやリリースノートの「制限事項と注意点」をご覧ください。