MultiTouch

MultiTouchでは、ズーム機能のほかにもWindowsフォームアプリをさらにタッチしやすくする機能を提供しています。少しの改修の手間で既存のWindowsフォームをタッチ対応アプリケーションにリメイクできます。


パンウィンドウ

画像「実際の画面(左)とパンウィンドウ(右)」
実際の画面(左)とパンウィンドウ(右)

GcZoomコンポーネントでは、ズーム対象のフォームの全体像を示すパンウィンドウをポップアップウィンドウで表示できます。
パンウィンドウは、ShowPanWindowメソッドを実行することで表示します。このメソッドは、引数なしで実行することができますが、引数に表示位置やウィンドウサイズを指定することができます。


フォームのリサイズ

KeepAspectRatioプロパティにTrueを設定すると、ユーザーがフォームをサイズ変更するとき、フォームのアスペクト比を維持できます。

また、フォーム内のズーム率とフォームサイズを同じ比率で同時に変更することができます。
AllowZoomByResizeプロパティにTrueを設定すると、フォームをリサイズしたときにフォームサイズの変更率に合わせて、フォーム内のコントロールをズームします。

画像「フォームのリサイズに合わせてコントロールをズーム」
フォームのリサイズに合わせてコントロールをズーム

AllowResizeByZoomプロパティにTrueを設定すると、フォーム内のコントロールをズームしたときにズーム率に合わせてフォームのサイズを変更します。

画像「コントロールのズームに合わせてフォームをリサイズ」
コントロールのズームに合わせてフォームをリサイズ

フルスクリーンモード

アプリケーションを画面全体に表示するフルスクリーンモードを提供します。この機能によって、タイトルバーやタスクバーの操作を抑止することができます。
FullScreenModeプロパティにFullScreenを設定するとフォームを画面全体に表示し、FullScreenWithTaskBarを設定するとWindowsタスクバー領域を除いた画面全体に表示します。


拡大鏡

画像「拡大鏡の表示」
拡大鏡の表示

GcMagnifierコンポーネントを使用すると、指先に拡大鏡を表示できます。TextBoxなどのコントロールで、文字列を選択する場合に指で隠れてしまう部分を拡大鏡に表示することで、タッチ操作を補助できます。

TextBoxコントロールに拡大鏡を表示するには、GcMagnifierコンポーネント(GcMagnifier1)とTextBoxコントロール(TextBox1)をフォームに追加して、TextBox1のプロパティウィンドウから「GcMagnifier1のEnableMagnifier」プロパティをTrueに設定します。

拡大鏡は、GcMagnifier.Shapeプロパティを使用して表示する形を設定できます。その他にも、拡大鏡のサイズ、境界線の太さ、境界線の背景といったスタイルを設定できます。

GcMagnifier.Shapeプロパティの値
Circle(円形) Rectangle(四角形) RoundedRectangle(角丸四角形)

コントロールバー

MultiTouchでは、タッチ操作を視覚化するコントロールバーを作成することができます。

画像「コントロールバー」
コントロールバーの操作

コントロールバーは、GcZoomCommandProviderコンポーネントとユーザーコントロールを使用して作成します。

コントロールバーを使用するには、ユーザーコントロールにコントロールを配置して、そのコントロールにGcZoomCommandProviderコンポーネントが提供する組み込みのアクションまたは独自に作成したアクションを割り当てます。
以下の操作手順では、組み込みのアクションである拡大/縮小ズームを設定したコントロールバーを作成します。

  1. プロジェクトにユーザーコントロールを追加します。(UserControl1)
  2. ユーザーコントロールにコマンドとして使用するButtonコントロールを2つ追加します。(Button1、Button2)
  3. ツールボックスからユーザーコントロールにGcZoomCommandProviderコンポーネントを追加します。
  4. Buttonコントロールのスマートタグアンカーをクリックし、GcZoomCommandsの一覧から「ZoomIn」を選択します。同様に、もう1つのButtonコントロールに同じ手順で「ZoomOut」を選択します。
  5. プロジェクトをビルドします。
  6. フォームにGcZoomコンポーネントを追加します。
  7. フォームに、作成したUserControl1を追加します。
  8. GcZoomコンポーネントを選択し、プロパティウィンドウからGcZoom.ControlBarsプロパティを開きます。
  9. ControlBarコレクションエディターで〈追加〉をクリックし、Contentプロパティで「WindowsFormsApplication1.UserControl1」を選択します。
  10. フォームを実行し、Button1とButton2の操作でフォームをズームできることを確認します。

コントロールバーは、対象のフォーム上で半透明に表示できます。半透明の設定は、ControlBar.Opacityプロパティを使用します。

ControlBar.Opacityプロパティの値
20% 50%(既定) 100%

また、コントロールバーは、配置モードを設定できます。配置モードは、ControlBar.PositionModeプロパティを使用します。

PositionModeの値 説明
Dock コントロールバーを親フォームにドッキングします。親フォームのサイズを変更すると、コントロールバーの位置が調整されます。
Floating ユーザーがプログラムコードまたは UI のドラッグ操作によってコントロールバーの位置を変更できます。
Fixed プログラムコードによってコントロールバーの位置を変更することは可能ですが、UI のドラッグ操作によって位置を変更することはできません。

拡大率に応じた高品位画像を表示

ズーム可能なフォームやパネル上にGcMultiScaleImageコントロールを配置すると、画面のズーム率に応じて最適な解像度の画像を表示できます。たとえば画面が小さいときは小さい解像度の画像を表示し、画面が拡大されて大きく表示されるときは大きい解像度の画像を表示できます。

画像「拡大時のPictureBox(左)とGcMultiScaleImage(右)」
拡大時のPictureBox(左)とGcMultiScaleImage(右)

タッチ対応イベント

GcTouchEventProviderコンポーネントを使用すると、コントロールごとにタッチやペンのイベントを検出できます。タッチ対応イベントを発生させるには、GcTouchEventProviderコンポーネントを特定のコントロールに関連付ける必要があります。

例えば、Buttonコントロールでタップイベントを発生させるには、以下の手順で設定を行います。

  1. Buttonコントロール(Button1)をフォームに追加します。
  2. GcTouchEventProviderコンポーネント(GcTouchEventProvider1)をフォームに追加します。
  3. Button1を選択し、プロパティウィンドウから「GcTouchEventProvider1のEnableTouchEvents」プロパティをTrueに設定します。
  4. Button1を選択し、Clickイベントにコードを追加します。
  5. GcTouchEventProvider1を選択し、Tappedイベントにコードを追加します。
  6. プロジェクトを実行し、Button1をクリックまたはタップします。

GcTouchEventProviderコンポーネントを使用すると、以下のイベントを検出できます。

タップ関連イベント
DoubleTapped ダブルタップ操作が特定のコントロールのヒットテスト領域で起こったときに発生します。
Holding ホールド操作が特定のコントロールのヒットテスト領域で起こったときに発生します。
RightTapped ポインタが特定のコントロールの上にあるときに右タップの入力が起こったときに発生します。
Tapped タップ操作が特定のコントロールのヒットテスト領域で起こったときに発生します。
ジェスチャ関連イベント
ManipulationCompleted 特定のコントロールに対するマニピュレーションが完了したときに発生します。
ManipulationDelta 操作中に入力デバイスの位置が変わったときに発生します。
ManipulationInertiaStarting 操作中に特定のコントロールに接触していた入力デバイスが離れて慣性運動が開始したときに発生します。
ManipulationStarted 入力デバイスが特定のコントロールに対するマニピュレーションを開始したときに発生します。
ManipulationStarting マニピュレーションプロセッサが最初に作成されたときに発生します。
ポインタ関連イベント
PointerCanceled 接触していたポインタが異常な離れ方をしたときに発生します。
PointerCaptureLost 特定のコントロールがそれまで保持していたポインタのキャプチャが別のコントロールまたは他の場所に移動したときに発生します。
PointerEntered ポインタが特定のコントロールのヒットテスト領域に入ったときに発生します。
PointerExited ポインタが特定のコントロールのヒットテスト領域から出たときに発生します。
PointerMoved ポインタが特定のコントロールのヒットテスト領域内で移動したときに発生します。
PointerPressed ポインタデバイスが特定のコントロール内でプレスアクションを開始したときに発生します。
PointerReleased 直前にプレスアクションを開始したポインタデバイスが、特定のコントロール内にとどまったまま、離されたときに発生します。

評価版を無料で入手

製品の評価目的でご利用いただけるトライアル版を公開しています。
無料でお使いいただけますので、実際の機能をご自分の環境でお試しください。

今すぐ評価版を無料で入手する

製品に関するお問合せ

ご質問・ご相談などお気軽にお問合せください。

メールアドレス : sales@grapecity.com
電話番号 : 048-222-3001

フォームからお問合せをする