Windows 8以降のOSでImeModeプロパティによるIMEモードの切り替えが動作しない
Windows 8でImeMode Katakana/KatakanaHalfが有効にならない。 | かるあのメモ on WordPress
この問題はWindowsフォーム標準のコントロールでも共通するものですが、グレープシティの下記のナレッジベースに情報が記載されています。
解決方法は2つです。1つは「OSの設定変更による対応」。もう1つはInput Scopeを設定するという方法です。
後者のInput Scopeを設定するという方法の場合、WPFやWindowsストアアプリであればInputScopeプロパティとして存在しているので、それを使用します。Windowsフォームは進化が止まってしまっていることから、このような比較的新しいOS機能の変化に対応しておらず、プロパティは用意されていません。直接Text Services FrameworkのSetInputScope functionを使用して実装するか、または是非InputManの利用をご検討ください。
上記のナレッジベースにも記載されていますが、以下の製品では、InputScopeプロパティが提供されています。
- InputMan for Windows Forms 7.0J(SP1以降)
- MultiRow for Windows Forms 7.0J(SP1以降)
- CellStyleのInputScopeプロパティにより、各セルのIMEモードを設定できます。
- SPREAD for Windows Forms 7.0J(SP1以降)