Hatena::ブログ(Diary)

Yuya Yamaki’s blog このページをアンテナに追加 RSSフィード

2014年02月04日(火曜日)

Windows 8以降のOSでImeModeプロパティによるIMEモードの切り替えが動作しない

Windows 8でImeMode Katakana/KatakanaHalfが有効にならない。 | かるあのメモ on WordPress


 この問題はWindowsフォーム標準のコントロールでも共通するものですが、グレープシティの下記のナレッジベースに情報が記載されています。


no title


 解決方法は2つです。1つは「OSの設定変更による対応」。もう1つはInput Scopeを設定するという方法です。


 後者のInput Scopeを設定するという方法の場合、WPFやWindowsストアアプリであればInputScopeプロパティとして存在しているので、それを使用します。Windowsフォームは進化が止まってしまっていることから、このような比較的新しいOS機能の変化に対応しておらず、プロパティは用意されていません。直接Text Services FrameworkのSetInputScope functionを使用して実装するか、または是非InputManの利用をご検討ください。


 上記のナレッジベースにも記載されていますが、以下の製品では、InputScopeプロパティが提供されています。


2013年07月31日(水曜日)

Windowsフォーム、Windows 8のシェア、タッチ対応

 以下の図は去年の12月のVSUG DAYのセッション資料の1ページです。


f:id:Yamaki:20130731152218p:image


 減ってきてはいるものの、依然としてWindowsフォームが強いことが分かります。


 そして、これはWindows 7も同じです。Windows 8Windows Vistaのシェアを抜き、確実にその数を増やしつつあるものの現時点ではまだWindows 7とWindows XPが主流です。


Windows 8の世界OS市場シェアが5.6%で初のVista超え──Net Applications調べ - ITmedia NEWS


 しかし、たとえ一部であってもタッチ可能なWindows 8デバイスが入ってきてしまうと、アプリケーション側はタッチによって操作されてしまうことを拒むことはできません。1年ほど前にグレープシティで公開したホワイトペーパーでは以下のように記載しています。


デスクトップアプリケーションのタッチ対応

デスクトップアプリケーションのタッチ対応を考える前に、まずデスクトップアプリケーションがタッチに対応する必要があるのかという点を確認しておくべきでしょう。タッチ操作向けのアプリケーションはMetroスタイルアプリケーションが適しているため、本来であればデスクトップアプリケーションがタッチに対応する必要はありません。しかしながら、これまで述べてきたようにタッチ可能なWindows PCは要不要に関わらず、身近に存在するようになります。そうなったとき、タッチ操作を意識していないデスクトップアプリケーションもタッチされてしまうという事態が発生します。それをアプリケーション側から拒むことはできません。

それ故に、既存資産であるデスクトップアプリケーションを最低限のタッチ操作に対応させたいという需要は、一定数存在するようになると予想しています。


 このような状況への一つのソリューションとして、今回グレープシティから、いつもの業務アプリケーションをそのままタッチ対応アプリにリメイクするという製品を発表しました。



 MultiTouch for Windows Formsは、Visual Studioのツールボックスから、コンポーネントをフォーム上へドラッグ&ドロップするだけで、タッチ操作によるフォームの拡大機能を追加する製品です。


 Windows 8がインストールされているタッチ可能なデバイスをお持ちの方は、以下にClickOnceによるデモがありますので、是非実際にタッチ操作を行って試してみてください。


デモアプリケーション


関連ページ

no title

no title

no title