Q. 半角カナが効かないことがあります

エディットコントロールの特性でIMEのモードを自動的に切り替えるようにしています。
しかし、端末によって、半角カナ(漢字=5)が効かないことがあります。
原因としては、どのようなことが考えられるでしょうか?

A. Office2007を使われているのでは。

コントロール特性お問い合わせの件は、Magic uniPaaSのコントロール特性で、漢字入力の欄が「5」になっている場合だと思います。
本来であれば、これでローマ字入力半角カナモードになるはずですが、MS Office 2007のIMEを使っていると、うまく切り替えができないことがあります。
(実行時の条件によっては、うまくいくこともあります。)

今のところ(2009年12月現在)、根本的な解決策はないみたいですが、回避策としては、「5」ではなく「6」を使うことです。
これによって、通常のMS IMEでも、Office2007のIMEでも、どちらでも半角カナになると思います。

但し、運用環境の中で、ATOKが混在している場合は注意が必要です。
ATOKでは、「5」がローマ字入力半角カナモードで、「6」だと、かな入力半角カナモードになります。
MS IMEとATOKとの混在環境では、式を使って「5」と「6」を使い分けるしかないでしょう。
コントロール特性の漢字入力欄の右側の「0」からズームするか、fxボタンを押すと式が使えます。
とは言っても、使っているIMEを自動取得する関数はないので、Magic.iniや管理テーブルに端末情報を記載するなどの工夫も必要になります。

元々は、奇数が「ローマ字入力」、偶数が「かな入力」だったようです。
つまり、ATOKでの動作が本来の動きということです。
ですが、10年以上前に、MS IMEのインターフェースが変わって、奇数も偶数も、どちらも「ローマ字入力」となってしまったと聞いたことがあります。

表にまとめると、次のようになります。

漢字入力欄 一般のMS IME Office2007のIME ATOK
1
ローマ字入力ひらがな ローマ字入力ひらがな ローマ字入力ひらがな
2
ローマ字入力ひらがな ローマ字入力ひらがな かな入力ひらがな
3
ローマ字入力全角カナ ローマ字入力全角カナ ローマ字入力全角カナ
4
ローマ字入力全角カナ ローマ字入力全角カナ かな入力全角カナ
5
ローマ字入力半角カナ (ほぼ)無効 ローマ字入力半角カナ
6
ローマ字入力半角カナ ローマ字入力半角カナ かな入力半角カナ