Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

MultiTouchで既存アプリケーションをタッチ対応にしてみよう

顧客と開発者の生産性を格段に向上させる、業務システムの画面UI 第4回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/12/02 14:00

目次

他のコンポーネントを組み合わせる

 MultiTouchにInputManやPlusPakを組みわせることで、更にタッチ操作に適した画面を作成することが可能になります。

GcIme

 GcImeを使用すると、Windows 8以降に追加されたタッチ対応のソフトウェアの表示非表示をプログラムから制御することができます。

ソフトウェアキーボードを表示する
ソフトウェアキーボードを表示する

GcImeの追加方法

 GcImeを追加するには、上記「コントロールの追加」項目に従いGcImeをツールボックスに追加します。

 デザインビューから画面にGcImeをドロップします。

 TextBoxにフォーカスが当たるとソフトウェアキーボードを表示したい場合、以下のようにTextBoxにEnterとLeaveイベントを設定します。

TappedとClickイベントを設定する
private void textBox1_Enter(object sender, EventArgs e)
{
    // タッチキーボードを表示
    this.gcIme1.ShowTouchKeyboard();
}

private void textBox1_Leave(object sender, EventArgs e)
{
    this.gcIme1.HideTouchKeyboard();
}

InputManと組みわせて、Windows 8以前のOSでもキーボード表示

 InputManと組み合わせることで、Windows 8以前のOSでもタッチしやすいソフトウェアキーボードを提供できます。

GcSoftKeyboard
GcSoftKeyboard

 GcSoftKeyboardの表示は、上記「コントロールの追加」項目に従いGcSoftKeyboardをツールボックスに追加後、以下のようにコードを記述します。

GcSoftKeyboardを表示する
private void textBox1_Enter(object sender, EventArgs e)
{
    // ソフトウェアキーボードを表示する。引数に対象となる入力コントロールを渡す
    this.gcSoftKeyboard1.Show(sender as TextBox);
}

private void textBox1_Leave(object sender, EventArgs e)
{
    this.gcSoftKeyboard1.Hide();
}

タッチ操作時に拡大表示されるコントロール

 InputManのGcComboBoxや、PlusPakのGcColorPickerなどのコントロールはマウス操作時と、タッチ操作時で表示されるドロップダウンメニューのサイズが異なります。タッチ操作を検知し、自動でタッチしやすい拡大されたメニューを表示します。

マウス操作時のメニュー
マウス操作時のメニュー
タッチ操作時は拡大されて表示される
タッチ操作時は拡大されて表示される

まとめ

 MultiTouchを利用することで、既存のWindows Formsアプリケーションにタッチ機能を追加できることをお伝えしました。

 既存アプリケーションがすでにあり、タッチ操作を行う端末での運用を行いたい場合に、新規に新しいプラットフォームで作成するか、既存アプリケーションに今回紹介したような機能を組み込むことで要望を満たせるかは、比較検討する価値があります。

 また、既存アプリケーションがない場合でも、開発メンバーがWindows Formsに習熟している場合や、アプリケーションの機能にサンドボックスによる制限があってもよいか(最新の安全に動作するためのプラットフォームはサンドボックスモデルを採用しており要求によっては適していない場合もあります)を考慮して、MultiTouchを利用すれば、Windows Formsも検討の候補になりうることを覚えておいてください。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 西村 誠(ニシムラ マコト)

     Microsoft MVP Windows Platform Development。  Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。  ブログ:眠るシーラカンスと水底のプログラマー  著書:基礎から学ぶ Windows...

バックナンバー

連載:顧客と開発者の生産性を格段に向上させる、業務システムの画面UI

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5