TouchToolKit for WinForms

Similar documents
Prog2_15th

Prog2_4th

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

VB.NET解説

FileExplorer for ASP.NET Web Forms

C#の基本

グラフィックス

Microsoft Word -

NotifyIconコントロール

Prog2_12th

VFD256 サンプルプログラム

Microsoft Word - VB.doc

(Microsoft Word - Word\216\300\217K\212\356\221b1.doc)

Ver.1.1

C1Live

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

Microsoft Word - 415Illustrator

3. 文字の入力 文字 ボタンをクリックします 文字入力したい範囲をドラックし 文字枠を作成します 文字を入力します この作業を繰り返します マウスポインタの形 4. 文字枠のサイズ変更 拡大 ボタンをクリックします 大きさを変えたい文字枠をクリックします マウスポインタを文字枠の右下のハンドル (

アプリケーション

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

ルーレットプログラム

スライド 1

Format text with styles

Expander for ASP.NET Web Forms

_責)Wordトレ1_斉木

. フォントを OS にインストールする インターネット等で入手したフリーのフォントをインストールすることにより Windows に標準でインストールされているフォント以外のものを利用することができます 多数のフォントをインストールするとパソコンの動作が遅くなります 必要なフォント以外はインストール

クイックセットアップ for モバイル(iOS/Android)

HP Primeバーチャル電卓

1. 画面拡大ショートカット ショートカットキーで作業効率 UP [Ctrl]+[+]: 拡大 [Ctrl]+[-]: 縮小 [Ctrl]+ 0 : デフォルトに戻す (100%) オンライン製品ヘルプ 2

PE4 Training Text 2

外周部だけ矩形配列

ウィンドウ操作 応用

クイックセットアップ for モバイル(iOS/Android)

Chart3D for WPF/Silverlight

200_CAD(画面回りの機能)の基本操作

Userコントロール

3 アドレスバーに URL を入力し ( 移動ボタン ) をタップします 入力した URL のホームページに移動します ネットワークへのログオン 画面が表示された場合は ユーザー名 を確 認し パスワード を入力して OK をタップしてください ホームページがうまく表示されないときは Opera B

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

Design with themes — Part 1: The Basics

(Microsoft Word - Excel\216\300\217K\212\356\221b1.doc)

目次 はじめに プロファイルとモードについて キーボードのバックライトをカスタマイズする サポートに問い合わせる はじめに 1 Corsair ゲーミングのハードウェアとソフトウェアのインストール 2 ファームウェアのアップデート 3 プロファイルとモードについて 4 キーボードの

Img_win.book

Word編2 宛先の氏名を入力する職人編宛名を入力するための画面が表示されます 姓と名の間にスペースを入れて氏名を入力します ボタンをクリックして敬称を選びます [ 連名 情報 ] タブをクリックします 必要に応じて [ 名前 ] 欄をクリックして連名を入力します 3 宛先の住所を入力する [ 自宅

シヤチハタ デジタルネーム 操作マニュアル

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

目次 1. ログイン ログアウト デスクトップ ( 例 :Word Excel 起動中 ) Dock( 例 :Word Excel 起動中 ) Finder ウィンドウ メニューバー ( 例 :Word 起動中 )...

ComboBox for ASP.NET Web Forms

Tabs for ASP.NET Web Forms

Shareresearchオンラインマニュアル

ブロック パニック

Wordの学習

Carousel for WPF/Silverlight

簡単な図面を書いてみよう 『 3D編 』

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

更新履歴 変更履歴 版数 リリース日 更新内容 第 1 版 2017/5/15 第 1 版発行 第 2 版 2017/7/13 更新履歴 変更内容を追加 (2ページ) 編集の前に を追加(8 ページ ) ブロックエディタ スマートモード エディタモード の説明を追加 (10~12 ページ ) ブロッ

スライド 1

PowerPoint プレゼンテーション

図 2 Excel スプレッドシートの世界 のウィンドウ 図 3 Visual Basic の世界 のウィンドウ 図 3 の VBA ウィンドウは 図 2 の Excel ウィンドウのメニューの ツール をクリックし 開か れるプルダウンメニューで マクロ /Visual Basic Editor

20180308森の日県南支部 林

brieart変換設定画面マニュアル

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

やさしくPDFへ文字入力 v.2.0

タッチディスプレイランチャー

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

Microsoft Word IL3_1.doc

目 次 押印ツールによる電子印鑑の押印 Word 編 1 枠内に押印する 3 2 社名の上に重ねて 角印 を押印する 5 3 クリップボード経由で押印する 9 4 印影の角度を変える 13 押印ツールによる電子印鑑の押印 Excel 編 1 ドラッグ & ドロップで押印する 14 2 クリップボード

データアダプタ概要

< F2D D E6A7464>

印刷アプリケーションマニュアル

Windows用タブレットドライバー簡易ガイド Ver.5.06版

ご利用の前に 目次 - 0. 推奨環境とソフトウェアのバージョン 推奨環境について Windows8 Windows8. について Internet Explorer のバージョン確認 SAMWEB の初期設定 セキュリティ設定..

できる Windows 10 & Office + データ引越し

電子版操作マニュアル スマートデバイス版

ComponentOne for ASP.NET Web Forms ユーザーガイド

Microsoft Word - macマニュアル【 】.doc

extChatText.pdf

目次 動作環境について... 2 山地災害危険箇所マップとは... 3 更新情報を見る... 5 関連サイトのリンク情報を見る... 6 利用上の留意事項を確認する... 7 山地災害危険箇所マップを参照する... 8 地図の表示範囲を変更する ( 拡大 縮小 移動 )... 9 地図の表示内容を変

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

2 Web ページの文字のサイズを変更するには 以下を実行します Alt + P キーを押して [ ページ ] メニューを選択します X キーを押して [ 文字のサイズ ] を選択します 方向キーを押して 文字のサイズを [ 最大 ] [ 大 ] [ 中 ] [ 小 ] [ 最小 ] から選択します

2004年度情報リテラシーⅢ

GIS利用クイックチュートリアル

TestDesign for Web

Microsoft Word - ws-0001.doc

Slider for ASP.NET Web Forms

基本設計書

EIZO ScreenSlicer 取扱説明書

画像参照画像送り 5 画像下部に再生ボタンが表示されます 再生ボタンをクリックすると 自動コマ送りされます 1

すると メインメニューと呼ばれる DC さくらのメインウィンドウ部が表示されます ( 下の画面がスクリーンシ ョットです ) メインメニューは ウィンドウ右上の ボタンを押すと閉じます リスト内のアイテムは ダウンロードのタスクを表します ダウンロード状況を把握できます メニュー項目やボタンの説明は

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

Windows8.1基礎 ファイル管理

ご利用の前に 目次 推奨環境とソフトウェアのバージョン 推奨環境について Windows8 Windows8.1 について Internet Explorer のバージョン確認 SAMWEB の初期設定 セ

PowerPoint プレゼンテーション

4 正しい位置を持った 数値地図 25000( 空間データ基盤 ) の上に カラー空中写真 が読み込まれます この状態では カラー空中写真画像 は位置のデータを持っていないので 正しい位置に読み込まれていません ここから 画像位置合せ の作業を行います 地図画像は色調を変えることができます 薄くする

エレコム マウスアシスタント

BizBrowser SmartDevice Android開発用スタートアップガイド

Windows 10 はマイクロソフト社の OS(Operating System: 基本ソフト ) です OS は パソコンの本体とプリンター キーボード マウスなどのハードウェアを仲介します また Word Excel などのアプリの制御や ファイルの作成 削除などを階層的に管理します を使うと

Transcription:

2018.11.26 更新 グレープシティ株式会社

目次 はじめに 3 主な特長 4-5 製品構成 6 クイックスタート 7-8 TouchToolKit の使い方 9 C1Zoomコンポーネント 9 ズーム 9-13 スクロール 13-16 パンウィンドウ 16-18 フォームのリサイズ 18 ズーム率とフォームサイズを同時に変更する 18-20 フルスクリーンモード 20 ズームのイベント 20-25 フォームとの互換性 25-26 C1ZoomPanelコントロール 26-27 基本的な使い方 27-30 パネルとの互換性 30-31 C1ApplicationZoomコンポーネント 31 基本的な使い方 31-35 特定のフォームの設定 35-36 C1ZoomCommandProviderコンポーネント 36 基本的な使い方 36-38 コントロールバー 38-41 C1Magnifyコンポーネント 41 基本的な使い方 41-43 拡大鏡の外観を変更する 43-45 拡大鏡とイベント 45-47 C1MultiScaleImageコントロール 47-48 基本的な使い方 48-49 C1TouchEventProviderコンポーネント 49 基本的な使い方 49-55 1 Copyright GrapeCity, Inc. All rights reserved.

タップ関連イベントの検出 55-57 ジェスチャイベントの検出 57-59 ポインタイベントの検出 59-61 ズームポリシー 61-62 ズームポリシーテンプレートの登録 62 基本的な使い方 62-65 標準コントロール 65-68 ActiveReports for.net 68-69 ComponentOne for WinForms 69-72 InputMan for Windows Forms 72-74 LEADTOOLS Imaging Pro 74-75 MultiRow for Windows Forms 75 PlusPak for Windows Forms 75-80 SPREAD for Windows Forms 80 Power Packs 80-81 WPF 相互運用機能 81 ユーザー定義のズームポリシー 81-83 よくある質問と回答 84 2 Copyright GrapeCity, Inc. All rights reserved.

はじめに は既存の Windows フォームアプリケーションをタッチ可能なアプリケーションとして使用できるソリューションです TouchToolKit ではタッチ機能を持つコンポーネントを 7 つ用意しています コンポーネントは次のようになります C1ApplicationZoom C1Magnify C1MultiScaleImage C1TouchEventProvider C1Zoom C1ZoomPanel C1ZoomCommandsProvider C1Zoom コンポーネントをフォームに追加すると ユーザーが 2 本の指の間を広げる操作によってそのフォームを拡大して使用できるようになります この操作は ピンチアウト または ストレッチ としてタッチ対応のデバイスでよく知られています さらに TouchToolKit を使用して既存のフォームを最適化し マウス操作とタッチ操作でそれぞれの処理をできるようなります 3 Copyright GrapeCity, Inc. All rights reserved.

主な特長 には 次のような優れた特長があります これらの詳細については TouchToolKit の使い方 で解説しています コントロール 1 つでタッチ対応 C1Zoom コンポーネントをフォームに配置するだけで フォーム全体をマルチタッチ操作で拡大 縮小できます タッチで操作しにくい小さなボタンや スレートPCの画面では小さく表示されるキャプションを拡大し 操作性を大幅に改善できます 元の画面レイアウトをタッチ操作に合わせて書き換える必要はありません タッチ対応に伴って画面の操作体系を変える必要がないため マニュアルの書き直しやエンドユーザーの再教育といった負担を軽減できます 最小のコストで従来のマウス キーボード操作に加えてタッチやペンに対応できます 軽快なパフォーマンス タッチでのズーム操作中は画面をビットマップに置き換えてズーム結果のプレビューを表示しているので 軽快な動作を実現しています また ビットマップのプレビューを表示せずにズーム率の文字列を表示することもできるので さらに軽快なズーム操作を実現できます サードパーティコントロールを使っていても安心 TouchToolKit のズーム機能は標準コントロールと最新のグレープシティ製品と共にテストされており 最適に使用するための処理が ズームポリシ として提供されます ポリシーファイルには40 以上のコントロールに対応するコードが含まれ 開発者が変更することもできます もちろん 他のコントロールに対応する処理を開発者が自由に作成することもできます 拡大箇所を把握できるパンウィンドウ フォーム全体と拡大されている領域をパンウィンドウと呼ばれる別ウィンドウで表示できます フォームを大きく拡大した状態でも どの部分が拡大されているのかをユーザーが容易に把握できます 操作を視覚化できるコントロールバー コントロールバーを使用すると フォーム上で利用可能なタッチ操作 ( 拡大 縮小 スクロール ) をボタンとして表示し タッチ操作が可能なことをユーザーに明示できます 1 コントロールで全フォームをタッチ対応 C1ApplicationZoom コンポーネントをスタートアップフォームに配置すると プロジェクトに含まれる全フォームをマルチタッチ操作でズーム可能にできます フォームの数が多く フォームごとの設定の違いが少ない場合にC1Zoom コンポーネントの代わりに使える方法です 画面の一部をタッチ対応 フォームの一部だけをマルチタッチ操作で拡大 縮小できるC1ZoomPanel コントロールを提供します このコントロールはコンテナとして動作するため 標準のPanelコントロールと同じように任意の場所に配置し コントロールを載せてズーム可能なUIを構築できます 拡大鏡でタッチ操作を補助 TextBoxコントロールなどでは テキストを選択するには指でテキストを直接なぞる必要があり 選択している部分が指で隠れてしまいます C1Magnify コンポーネントが提供する拡大鏡を使うと タッチで操作している内容を指先に拡大表示できるので快適に操作できます 既存コントロールにタッチ対応イベントをプラス C1TouchEventProvider コンポーネントにより 任意の標準コントロールに16 種類のタッチ関連イベントと9 種類のジェスチャーの検出を追加できます マウス操作に対するClickイベントを実装するのと同じように タッチ操作やペン操作に対してTappedイベントを実装できます 4 Copyright GrapeCity, Inc. All rights reserved.

拡大率に応じた高品位画像を表示 C1MultiScaleImage コントロールは解像度や拡大率に応じて複数のソースを切り替えて表示できます ズームによって拡大した画面に自動的に高解像度画像を表示することで画面を高い品位で表現できます C1Zoom コンポーネント併用することで 高解像度に対応した画面デザインを提供できます 5 Copyright GrapeCity, Inc. All rights reserved.

製品構成 TouchToolKit はズーム用のコントロール サンプル ヘルプなどから構成されています コントロール 呼称コントロール名説明 ズームコンポーネント C1Zoom フォームをタッチ操作でズーム可能にするコンポーネン ト ズームパネルコントロール C1ZoomPanel 子コントロールをタッチ操作でズーム可能にするコンテ ナ アプリケーションズームコンポーネント C1ApplicationZoom アプリケーションに含まれるすべてのフォームをズーム可能にするコンポーネント ズームコマンドプロバイダーコンポーネント C1ZoomCommandProvider ユーザーコントロールでコントロールバーのコマンドを実装するためのコンポーネント マグニファイアコンポーネント C1Magnifier タッチ操作したとき指先に拡大鏡をポップアップするコン ポーネント マルチスケールイメージコントロールタッチイベントプロバイダーコンポーネント C1MultiScaleImage C1TouchEventProvider 複数解像度のイメージを保持できる PictureBox コントロール タッチ操作を検出するイベントを提供するコンポーネント サンプル 製品の使用例をまとめたプログラム集です サンプルは まったく同じプロジェクトが と の 2 種類の言語で作成されています サンプルの目的や使用方法を説明したサンプルヘルプも付属しています 製品ヘルプ 今 ご覧いただいているものです 製品をご利用いただくために必要なあらゆる情報が記載されています リリースノート 製品をインストールしたフォルダにコピーされています インストールなどの製品に関する基本事項の説明書ですので 必ず目を通すことをおすすめします 6 Copyright GrapeCity, Inc. All rights reserved.

クイックスタート ここでは TouchToolKit の基本的な操作方法を 簡単なアプリケーションの作成を通して紹介します TouchToolKit の操作方法 1. Visual Studio で新規に Windows フォームアプリケーションプロジェクトを作成するか または既存の Windows フォームアプリケーションプロジェクトを開きます 2. ツールボックスから C1Zoom コンポーネントを選択し フォームに追加します 3. プロジェクトを実行します 4. フォームを 2 本の指でタッチし 指を画面に触れたまま指と指の間隔を広げます すると 間隔に応じてフォーム内のコントロールが拡大するため タッチで操作しやすい大きさになったと感じたら 指を止めて画面から指を離します 5. 大きくなった状態で他のコントロールを操作するには 画面に指を触れたまま コントロールを移動したい方向に指を動かします これはタッチで パン と呼ばれる操作です 7 Copyright GrapeCity, Inc. All rights reserved.

6. 大きくなったコントロールをタッチで操作後 再度 2 本の指でタッチし 指を画面に触れたまま指と指の間隔を狭くするとコントロールを元の大きさに戻せます 7. 以上の操作により TouchToolKit を使って元の画面デザインを保ったままタッチで必要に応じてフォームのコントロールをズームして操作できるようになります この操作は一般的なモバイルデバイスでピンチ ピンチアウトまたはストレッチと呼ばれ スマートフォンやタブレットデバイスに認知されています 参考 2 本の指を画面に触れたまま指を互いに遠ざける操作 2 本の指を画面に触れたまま指を互いに近づける操作 操作の結果 拡大 縮小 Windows 8 ストレッチ ピンチ ios Android ピンチアウト ピンチイン 8 Copyright GrapeCity, Inc. All rights reserved.

TouchToolKit の使い方 TouchToolKit の使い方について 以下の項目に分けて説明します C1Zoom コンポーネント C1ZoomPanel コントロール C1ApplicationZoom コンポーネント C1ZoomCommandProvider コンポーネント C1Magnifier コンポーネント C1MultiScaleImage コントロール C1TouchEventProvider コンポーネントズームポリシー C1Zoom コンポーネント C1Zoom コンポーネントを任意のフォームに配置するだけで フォームはタッチによるズームに対応できます 既存の画面デザインを保ったまま タッチで操作する場合に必要に応じて画面を拡大できるようになります ここでは C1Zoom コンポーネントの使用方法について説明します ズームスクロールパンウィンドウフォームのリサイズズーム率とフォームサイズを同時に変更するフルスクリーンモードズームのイベントフォームとの互換性 プロジェクトに含まれるすべてのフォームをズームするには C1ApplicationZoom コンポーネント を参照してください ズーム C1Zoom コンポーネントを配置したフォームを 2 本の指でタッチし 指を画面に触れたまま指と指の間隔を広げるとフォーム上のコントロールをズームできます この機能は C1Zoom.AllowPinchZoom プロパティが True のときに有効です コードによるズーム率の設定または取得 C1Zoom.ZoomFactor プロパティで設定または取得できます 次のコードはボタンのクリックによってズーム率を 200% に変更します Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click C1Zoom1.ZoomFactor = 2.0F End Sub 9 Copyright GrapeCity, Inc. All rights reserved.

private void button1_click(object sender, EventArgs e) C1Zoom1.ZoomFactor = 2.0f; ズーム率の最大値 C1Zoom.MaxZoomFactor プロパティで設定します ズーム率の最小値は 100% で固定です ' ズーム率の最大値を 400% にする C1Zoom1.MaxZoomFactor = 4.0F // ズーム率の最大値を 400% にする C1Zoom1.MaxZoomFactor = 4.0f; ダブルタップによるズーム 既定ではダブルタップ ( 画面をすばやく 2 回タップする ) によるズームが有効です この機能は C1Zoom.AllowDoubleTapZoom プロパティを False にすると無効にできます C1Zoom1.AllowDoubleTapZoom = False C1Zoom1.AllowDoubleTapZoom = false; ズーム中のプレビュー表示 既定では タッチ操作によるズーム中に結果のプレビューが表示されます このプレビューにより ユーザーはズーム率によらずにタッチに最適な大きさを目視で決定できます パフォーマンスの向上 プレビュー中の制限の回避 他の機能との動作の統一といった要求に合わせてこの機能は無効にできます C1Zoom.ZoomPreviewMode プロパティが NoPreview のときプレビューを表示しません また AlternativeContent のときズーム率またはズーム中を示す文字列を代わりに表示できます C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent 10 Copyright GrapeCity, Inc. All rights reserved.

C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent; 代替コンテンツ C1Zoom.ZoomPreviewMode プロパティが AlternativeContent のとき ズーム中であることを示す文字列を表示できます この文字列のフォント 文字色 メッセージは C1Zoom.AlternativeContentSettings プロパティで設定します AlternativeContentSettings.Format プロパティの文字列に Percentage を入力すると その部分は現在のズーム率を百分率で表示した値に置換されます ZoomFactor を入力するとズーム率の倍率に置換します C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent C1Zoom1.AlternativeContentSettings.Font = New Font("MS ゴシック ", 20.0F) C1Zoom1.AlternativeContentSettings.ForeColor = Color.Blue C1Zoom1.AlternativeContentSettings.Format = " ズーム中 xzoomfactor" C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent; C1Zoom1.AlternativeContentSettings.Font = new Font("MS ゴシック ", 20.0f); C1Zoom1.AlternativeContentSettings.ForeColor = Color.Blue; C1Zoom1.AlternativeContentSettings.Format = " ズーム中 xzoomfactor"; スナップポイント タッチでは大まかな操作が可能なため ユーザーはタッチ操作で 197% や 202% といったズーム率を設定できます これを 200% のようにきりのいい値に自動的に揃える仕組みが スナップ です スナップポイントはきりのいい値のコレクションと スナップを発動する基準となる前後数パーセントの値を指定します Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent ' 最大ズーム率を 400% にする C1Zoom1.MaxZoomFactor = 4.0F ' スナップ間隔を 5% にする C1Zoom1.ZoomSnapDistance = 0.05F ' 195%~205% を 200% にスナップする C1Zoom1.ZoomSnapPoints.Add(2.0F) ' 295%~305% を 300% にスナップする C1Zoom1.ZoomSnapPoints.Add(3.0F) End Sub 11 Copyright GrapeCity, Inc. All rights reserved.

Private Sub C1Zoom1_ZoomFactorChanged(sender As System.Object, e As System.EventArgs) Handles C1Zoom1.ZoomFactorChanged Me.Text = String.Format("0:P", C1Zoom1.ZoomFactor) End Sub private void Form1_Load(object sender, EventArgs e) C1Zoom1.ZoomPreviewMode = C1.Win.C1TouchToolKit.ZoomPreviewMode.AlternativeContent; // 最大ズーム率を 400% にする C1Zoom1.MaxZoomFactor = 4.0f; // スナップ間隔を 5% にする C1Zoom1.ZoomSnapDistance = 0.05f; // 195%~205% を 200% にスナップする C1Zoom1.ZoomSnapPoints.Add(2.0f); // 295%~305% を 300% にスナップする C1Zoom1.ZoomSnapPoints.Add(3.0f); private void C1Zoom1_ZoomFactorChanged(object sender, EventArgs e) this.text = string.format("0:p", C1Zoom1.ZoomFactor); マウスホイールによるズーム Ctrl キーを押したままマウスのホイールを前方に回転するとフォームの拡大を実行できます 手前側に回転すると縮小になります この機能を有効にするには C1Zoom.AllowMouseWheelZoom プロパティを True に設定します C1Zoom1.AllowMouseWheelZoom = True C1Zoom1.AllowMouseWheelZoom = true; 注意 C1Zoom.AllowPinchZoom プロパティが False の場合であっても C1Zoom.AllowMouseWheelZoom プロパティが True の場合には Ctrl キー + マウスホイールのメッセージによってフォームがズーム可能になります C1ZoomPanel.AllowMouseWheelZoom プロパティを True に設定したとき C1ZoomPanel にフォーカスがない場合であってもピンチ操作によって C1ZoomPanel がズームします 12 Copyright GrapeCity, Inc. All rights reserved.

ズーム時にコンテンツを中央に表示する 既定では C1Zoom を配置したフォームをマウス操作によってズームするとフォーム上のコントロールが右下に向かって大きくなります これは フォーム上のコントロールが既定で左上に固定されているためです (Control.Anchor=TopLeft) C1Zoom.InnerPanelLayoutMode プロパティを MiddleCenter に変更すると コントロールはその位置を保持したまま中央に向かって拡大します C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter; ズーム時に背景を変更する C1Zoom コンポーネントを配置したフォームのサイズを大きくした状態でズーム率を 100% にすると 元のコンテンツがない部分に余白が生じます この余白を背景として背景色または背景イメージを設定できます 背景色を設定するには C1Zoom.BackColor プロパティを使用します C1Zoom1.BackColor = Color.DarkGray C1Zoom1.BackColor = Color.DarkGray; 背景イメージを設定するには C1Zoom.BackgroundImage プロパティおよび C1Zoom.BackgroundImageLayout プロパティを使用します C1Zoom1.BackgroundImage = New Bitmap("Background.png") C1Zoom1.BackgroundImageLayout = ImageLayout.Tile C1Zoom1.BackgroundImage = new Bitmap("Background.png"); C1Zoom1.BackgroundImageLayout = ImageLayout.Tile; 13 Copyright GrapeCity, Inc. All rights reserved.

スクロール ここではスクロールに関連する動作について説明します パン タッチ操作によってフォームを拡大したとき 画面にはフォームの一部のコントロールだけが表示されています このとき 画面に指を触れたまま コントロールを移動したい方向に指を動かすことでスクロールできます これはタッチで パン と呼ばれる操作です この操作は C1Zoom.AllowPanScroll プロパティを False にすることで無効にできます C1Zoom1.AllowPanScroll = False C1Zoom1.AllowPanScroll = false; レール タッチによるスクロール操作では 既定でははじめに指を動かした方向にスクロール先が固定されます たとえば はじめに右方向に指を動かして画面をスクロールし そのまま斜め右下や左下に向けて指を動かしても 画面は斜め方向にはスクロールせず 左右方向にだけスクロールします 同様に はじめに上下方向にスクロールした状態で指を左右に振っても 上下方向にだけスクロールします これはレールと呼ばれる タッチ操作を補助する仕組みです タッチではマウスよりも大まかな操作が可能になるため このような仕組みが操作性の改善に役立ちます レールを無効にするには C1Zoom.IsHorizontalRailEnabled C1Zoom.IsVerticalRailEnabled プロパティをそれぞれ False に設定します C1Zoom1.IsHorizontalRailEnabled = False C1Zoom1.IsVerticalRailEnabled = False C1Zoom1.IsHorizontalRailEnabled = false; C1Zoom1.IsVerticalRailEnabled = false; スクロールインジケータ C1Zoom コンポーネントでフォームをズームまたはスクロールしたとき 現在表示している範囲を示すバーが一定時間だけ表示されます このバーを スクロールインジケータ と呼びます 次の図で赤い三角が指し示すバーがスクロールインジケータです 14 Copyright GrapeCity, Inc. All rights reserved.

スクロールインジケータを無効にするには C1Zoom.ScrollIndicatorModeプロパティをNoneに設定します C1Zoom1.ScrollIndicatorMode = C1.Win.C1TouchToolKit.ScrollIndicatorMode.None C1Zoom1.ScrollIndicatorMode = C1.Win.C1TouchToolKit.ScrollIndicatorMode.None; スクロールインジケータの代わりにスクロールバーを表示するには C1Zoom.ScrollIndicatorMode プロパティを ScrollBar に設定します C1Zoom1.ScrollIndicatorMode = C1.Win.C1TouchToolKit.ScrollIndicatorMode.ScrollBar C1Zoom1.ScrollIndicatorMode = C1.Win.C1TouchToolKit.ScrollIndicatorMode.ScrollBar; スクロール限界の視覚化 C1Zoom.BoundaryFeedBackMode プロパティが Split のとき スクロール操作で画面の終端に到達したときに 画面をバウンドする視覚効果によって画面端に到達したことをユーザーに伝えることができます このプロパティを Standard に変更すると ウィンドウ全体をバウンドします C1Zoom1.BoundaryFeedbackMode = C1.Win.C1TouchToolKit.BoundaryFeedbackMode.Standard 15 Copyright GrapeCity, Inc. All rights reserved.

C1Zoom1.BoundaryFeedbackMode = C1.Win.C1TouchToolKit.BoundaryFeedbackMode.Standard; コントロールの自動表示 C1Zoom.AutoShowControl プロパティを True に設定すると コントロールのフォーカスが移動したときやソフトキーボードが表示されたときにアクティブなコントロールが常に表示されるようにフォームを自動的にスクロールすることができます C1Zoom1.AutoShowControl = True C1Zoom1.AutoShowControl = true; 個別のコントロールに対して自動スクロールの動作を制御したい場合 C1Zoom.ControlAutoShowing イベントを使用します コントロールが表示されている領域は C1Zoom.GetDisplayRectangle メソッドで取得できます パンウィンドウ ここではパンウィンドウについて説明します パンウィンドウの概要 パンウィンドウを使うとズーム対象のフォームの全体像を示すポップアップウィンドウが表示され その中の表示されている範囲が赤枠で強調されます パンウィンドウを使うと ユーザーがズームされている場所を把握しやすくなります 16 Copyright GrapeCity, Inc. All rights reserved.

パンウィンドウの表示 パンウィンドウを表示するには C1Zoom.ShowPanWindow メソッドを実行します ShowPanWindow の引数でパンウィンドウの初期位置と初期サイズを指定できます C1Zoom1.ShowPanWindow() C1Zoom1.ShowPanWindow(); パンウィンドウを閉じるにはC1Zoom.ClosePanWindowメソッドを実行します C1Zoom1.ClosePanWindow() C1Zoom1.ClosePanWindow(); パンウィンドウが表示されているかどうかを知るには C1Zoom.IsPanWindowShown プロパティを参照します 17 Copyright GrapeCity, Inc. All rights reserved.

Dim displayed As Boolean = C1Zoom1.IsPanWindowShown bool displayed = C1Zoom1.IsPanWindowShown; フォームのリサイズ ここではユーザーがフォームのサイズを変更するときの動作について説明します アスペクト比の設定 C1Zoom.KeepAspectRatio プロパティを True に設定すると ユーザーがフォームをサイズ変更するときの縦横のアスペクト比を維持できます たとえばユーザーがフォームの幅だけを変更しても この操作に合わせてフォームの高さが自動的に調整されます 次のコードは サイズのアスペクト比を維持します C1Zoom1.KeepAspectRatio = True C1Zoom1.KeepAspectRatio = true; なお フォームの最小サイズは System.Windows.Forms.Form クラスの MinimumSize プロパティ 最大サイズは MaximumSize プロパティで設定できます ズーム率とフォームサイズを同時に変更する ここでは フォーム内のズーム率とフォームサイズを同じ比率で同時に変更する方法について説明します C1Zoom コンポーネントはフォーム上のコントロールを C1Zoom コンポーネントが持つパネルに移動し そのパネルとコントロールの大きさを変えることでズームを実現します このため フォームのいくつかの機能は以下のように変更が必要になります フォームサイズにあわせてズーム率を変更する 18 Copyright GrapeCity, Inc. All rights reserved.

AllowZoomByResize プロパティに True を設定すると フォームをリサイズしたときにフォームサイズの変更率に合わせて フォーム内のコントロールがズームされます なお この機能を有効にするには InnerPanelLayoutMode プロパティに InnerPanelLayoutMode.MiddleCenter を設定する必要があります 注意 C1Zoom クラスの ZoomFactor プロパティが最大値 (400%) の場合 フォームサイズを大きくしても フォーム内のコントロールはズームされません C1Zoom クラスの ZoomFactor プロパティが最小値 (100%) の場合 フォームサイズを小さくしても フォーム内のコントロールはズームされません フォームのリサイズ時にフォームの高さと幅の変更率が異なる場合 フォーム内のコントロールは変更率が小さい方に合わせてズームされます C1Zoom1.AllowResizeByZoom = True C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter C1Zoom1.AllowResizeByZoom = true; C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter; ズーム率にあわせてフォームサイズを変更する AllowResizeByZoom プロパティに True を設定すると フォーム内のコントロールをズームしたときにズーム率に合わせて 19 Copyright GrapeCity, Inc. All rights reserved.

フォームのサイズが変更されます なお この機能を有効にするには InnerPanelLayoutMode プロパティに InnerPanelLayoutMode.MiddleCenter を設定する必要があります 注意 この機能はタッチ操作でフォーム内のコントロールをズームした場合に有効です ズーム率をコードで変更した場合には機能しません フォームのサイズが画面サイズと同じ場合や 最大サイズに達している場合には 拡大ズームしてもフォームサイズは変更されません C1Zoom1.AllowResizeByZoom = True C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter C1Zoom1.AllowResizeByZoom = true; C1Zoom1.InnerPanelLayoutMode = C1.Win.C1TouchToolKit.InnerPanelLayoutMode.MiddleCenter; フルスクリーンモード ここでは アプリケーションを画面全体に表示するフルスクリーンモードについて説明します フルスクリーン表示 アプリケーションを画面全体に拡大するには フルスクリーンモードを使用します フルスクリーンモードを使用すると アプリケーションの表示領域を最大化してユーザーが誤ってタイトルバーやタスクバーを操作することを防ぐことができます C1Zoom.FullScreenMode プロパティを FullScreen にすると フォームを画面全体に表示します FullScreenWithTaskBar にすると Windows タスクバー領域を除いた画面全体に表示します 次のコードは フォームを画面全体に表示します C1Zoom1.FullScreenMode = C1.Win.C1TouchToolKit.FullScreenMode.FullScreen C1Zoom1.FullScreenMode = C1.Win.C1TouchToolKit.FullScreenMode.FullScreen; 注意 : MDI 子フォームではフルスクリーンモードは使用できません 20 Copyright GrapeCity, Inc. All rights reserved.

ズームのイベント C1Zoom コンポーネントでは 次のイベントを使用してズーム時の処理をカスタマイズできます 名前 ControlAutoShowing 説明 C1Zoom コンポーネントがターゲットコントロールの表示を開始する前に発生します ControlBoundsZooming C1Zoom コンポーネントがターゲットコントロールの境界のズームを開始する前に発生します ControlFontZooming ManipulationStarting ZoomFactorChanged C1Zoom コンポーネントがターゲットコントロールのフォントのズームを開始する前に発生します マニピュレーションプロセッサが最初に作成されたときに発生します ZoomFactor プロパティが変更されたときに発生します コントロールが自動スクロールされるときのイベント C1Zoom.ControlAutoShowing イベントを使用すると C1Zoom コンポーネントによってフォームが自動的にスクロールされる際に コントロールの情報やスクロールが発生した理由によってこれをキャンセルするかどうかを制御できます たとえば コントロールが一定サイズ表示されている場合は自動スクロールしない といった処理が可能です Imports C1.Win.C1TouchToolKit Private Sub C1Zoom1_ControlAutoShowing(sender As System.Object, e As ControlAutoShowingEventArgs) Handles C1Zoom1.ControlAutoShowing ' コントロールがすべて表示されているときは自動スクロールをしません If C1Zoom1.GetDisplayRectangle(e.Showingcontrol).Size = e.showingcontrol.size Then e.cancel = True End If ' コントロールの一部が表示されているときは自動スクロールをしません If C1Zoom1.GetDisplayRectangle(e.ShowingControl).IsEmpty Then e.cancel = True End If ' コントロールの高さが 30 ピクセル以上表示されているときは自動スクロールをしません If C1Zoom1.GetDisplayRectangle(e.ShowingControl).Size.Height > 30 Then e.cancel = True End If End Sub using C1.Win.C1TouchToolKit; private void gczoom1_controlautoshowing(object sender, ControlAutoShowingEventArgs e) // コントロールがすべて表示されているときは自動スクロールをしません 21 Copyright GrapeCity, Inc. All rights reserved.

if (gczoom1.getdisplayrectangle(e.showingcontrol).size == e.showingcontrol.size) e.cancel = true; // コントロールの一部が表示されているときは自動スクロールをしません if (!gczoom1.getdisplayrectangle(this.button1).isempty) e.cancel = true; // コントロールの高さが 30 ピクセル以上表示されているときは自動スクロールをしません if (gczoom1.getdisplayrectangle(this.button1).size.height > 30) e.cancel = true; ズームの検出 C1Zoom.ControlBoundsZooming イベントを使用して コントロールのズームを検出できます また C1Zoom.ControlFontZooming イベントを使用してフォントのズームを検出できます 通常 ユーザー定義のズームの動作を複数のプロジェクト間で共有するには ZoomPolicy が適しています 詳細は ズームとコントロール を参照してください C1Zoom.ControlBoundsZooming イベントでは 組み込みのズーム処理をキャンセルしてユーザー定義のコードをコントロールに対して実行できます Imports C1.Win.C1TouchToolKit Private Sub C1Zoom1_ControlBoundsZooming(sender As System.Object, e As ControlBoundsZoomingEventArgs) Handles C1Zoom1.ControlBoundsZooming If e.targetcontrol Is Button1 Then e.handled = True End If End Sub using C1.Win.C1TouchToolKit; private void gczoom1_controlboundszooming(object sender, ControlBoundsZoomingEventArgs e) if (e.targetcontrol == button1) e.handled = true; 22 Copyright GrapeCity, Inc. All rights reserved.

C1Zoom.ControlFontZooming イベントでは組み込みのフォントズームをキャンセルしてユーザー定義のコードを実装できます このイベントで対象のコントロールのフォントをカスタマイズする場合 対象のコントロールのフォントに明示的にフォントが指定されている必要があります フォントが指定されていない場合 親コントロールのフォントが使用されます また C1Zoom.InnerPanel プロパティに一致するコントロールは除外される必要があります Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Button1.Font = New Font("MS UI Gothic", 9.0F) End Sub Private Sub C1Zoom1_ControlFontZooming(sender As System.Object, e As ControlFontZoomingEventArgs) Handles C1Zoom1.ControlFontZooming If e.targetcontrol Is Button1 Then e.handled = True End If End Sub using C1.Win.C1TouchToolKit; private void Form1_Load(new Font("MS UI Gothic", 9.0f); private void gczoom1_controlfontzooming(object sender, ControlFontZoomingEventArgs e) if (e.targetcontrol == button1) e.handled = true; タッチ操作が開始されたときのイベント C1Zoom.ManipulationStarting イベントを使用すると タッチ操作でズームやスクロール ( パン ) が開始されたときに この処理を実行するかどうかを変更できます たとえば フォーム画面のスクロールよりも ListBox コントロールのスクロールを優先したい場合 次のようにコーディングします Imports C1.Win.C1TouchToolKit 23 Copyright GrapeCity, Inc. All rights reserved.

Private Sub C1Zoom1_ManipulationStarting(sender As System.Object, e As ZoomManipulationStartingEventArgs) Handles C1Zoom1.ManipulationStarting If TypeOf e.targetcontrol Is TextBox AndAlso DirectCast(e.TargetControl, TextBox).Text.Length > 0 Then e.mode = ZoomManipulationModes.Zoom Else e.mode = ZoomManipulationModes.All End If End Sub using C1.Win.C1TouchToolKit; private void gczoom1_manipulationstarting(object sender, ZoomManipulationStartingEventArgs e) if (e.targetcontrol is ListBox) e.mode = ZoomManipulationModes.Zoom; else e.mode = ZoomManipulationModes.All; TextBox コントロールに文字列が存在する場合だけ フォームのスクロールよりも TextBox コントロール上の操作を優先する といった細かな組み合わせも実装できます Private Sub C1Zoom1_ManipulationStarting(sender As System.Object, e As C1.Win.C1TouchToolKit.ZoomManipulationStartingEventArgs) Handles C1Zoom1.ManipulationStarting If TypeOf e.targetcontrol Is TextBox AndAlso DirectCast(e.TargetControl, TextBox).Text.Length > 0 Then e.mode = C1.Win.C1TouchToolKit.ZoomManipulationModes.Zoom Else e.mode = C1.Win.C1TouchToolKit.ZoomManipulationModes.All End If End Sub private voidz gczoom1_manipulationstarting(object sender, 24 Copyright GrapeCity, Inc. All rights reserved.

C1.Win.C1TouchToolKit.ZoomManipulationStartingEventArgs e) if (e.targetcontrol is TextBox && ((TextBox)e.TargetControl).Text.Length > 0) e.mode = C1.Win.C1TouchToolKit.ZoomManipulationModes.Zoom; else e.mode = C1.Win.C1TouchToolKit.ZoomManipulationModes.All; ズーム率が変わった時のイベント C1Zoom.ZoomFactorChanged イベントを使用すると ズーム率が変わったときに処理を実行できます たとえば 次のコードように現在のズーム率をタイトルバーに表示できます Private Sub C1Zoom1_ZoomFactorChanged(sender As System.Object, e As System.EventArgs) Handles C1Zoom1.ZoomFactorChanged Me.Text = String.Format("0:P", C1Zoom1.ZoomFactor) End Sub private void gczoom1_zoomfactorchanged(object sender, EventArgs e) this.text = string.format("0:p", gczoom1.zoomfactor); フォームとの互換性 C1Zoom コンポーネントはフォーム上のコントロールを C1Zoom コンポーネントが持つパネルに移動し そのパネルとコントロールの大きさを変えることでズームを実現します このため フォームのいくつかの機能は以下のように変更が必要になります Form.Capture プロパティ System.Windows.Forms.Formクラスの Captureプロパティは C1Zoomコンポーネントを配置したフォームでは使用できなくなります 代わりにC1Zoom.InnerPanelプロパティが参照するPanelオブジェクトのCaptureプロパティを使用します Form.Controls プロパティ System.Windows.Forms.Formクラスの Controlsプロパティは C1Zoomコンポーネントを配置したフォームでは使用できなくなります 代わりにC1Zoom.ControlsプロパティまたはC1Zoom.InnerPanelプロパティが参照するPanelオブジェクトの Controlsプロパティを使用します 25 Copyright GrapeCity, Inc. All rights reserved.

コントロールの追加 実行時にコーディングでフォームにコントロールを追加するには 以下のようにコントロールを追加するコードを C1Zoom.BeginAddControls メソッドと C1Zoom.EndAddControls メソッドで囲ってください Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click C1Zoom1.BeginAddControls() Dim Button2 As New Button() C1Zoom1.Controls.Add(Button2) Button2.Text = "Button2" Button2.Visible = True Button2.Left = Button1.Left Button2.Top = Button1.Top + Button1.Height + 10 C1Zoom1.EndAddControls() End Sub private void button1_click(object sender, EventArgs e) gczoom1.beginaddcontrols(); Button button2 = new Button(); gczoom1.controls.add(button2); button2.text = "Button2"; button2.visible = true; button2.left = button1.left; button2.top = button1.top + button1.height + 10; gczoom1.endaddcontrols(); C1ZoomPanel コントロール C1ZoomPanel コントロールを使うと フォームの一部だけをタッチによるズームに対応できます 画面の一部だけをズーム可能にしたい場合や 画面のパーツごとに設定を分けたい場合に便利です C1ZoomPanel コントロールは標準の Panel コントロールと同じように パネルとして使用できます ここでは C1ZoomPanel コントロールの利用方法について 以下の項目に分けて解説しています 基本的な使い方パネルとの互換性 なお C1ZoomPanel コントロールでは コントロールバー パンウィンドウ フルスクリーンモードおよびアスペクト比の維持は使用できません また C1ZoomPanel コントロールと C1Zoom コンポーネント C1ApplicationZoom コンポーネントは併用できません 26 Copyright GrapeCity, Inc. All rights reserved.

また 以下の機能はC1Zoom コンポーネントと共通です C1Zoom コンポーネント の以下の解説を参照してください ズームスクロールズームのイベント 基本的な使い方 ここでは C1ZoomPanel コントロールの基本的な使い方について解説します 設定方法 次の例では メニューバー ツールバーおよびステータスバーを持つエクスプローラ形式のフォームにおける ツリービューとリストビューだけをタッチ操作でズーム可能にします なお Visual Studio が提供するテンプレートの制約により ここでは での用法のみを説明します 1. Visual Studio を起動し 新規に の Windows フォームアプリケーション プロジェクトを作成します 2. [ プロジェクト ] メニューから [ 新しい項目の追加 ] を選択し エクスプローラーフォーム を Explorer1.vb という名前で追加します 27 Copyright GrapeCity, Inc. All rights reserved.

3. [ プロジェクト ] メニューから [ プロジェクト名のプロパティ ] を選択し スタートアップフォーム を Explorer1 に変更します 4. Explorer1 にツールボックスから C1ZoomPanel コンポーネント (C1ZoomPanel1) を適当な場所に追加します 28 Copyright GrapeCity, Inc. All rights reserved.

5. [ 表示 ] メニューから [ ドキュメントアウトライン ] を選択し ドキュメントアウトライン ウィンドウを表示します 6. ドキュメントアウトライン上で C1ZoomPanel1 を選択し ToolStripContainer.ContentPanel と SplitContainer の中間に移動します 7. ドキュメントアウトライン上で SplitContainer を C1ZoomPanel1 にドラッグします 29 Copyright GrapeCity, Inc. All rights reserved.

8. ドキュメントアウトライン上で C1ZoomPanel1 を選択し フォーム上の C1ZoomPanel1 のスマートタグから 親コンテナーにドッキングする を実行します 9. プロジェクトを実行すると ツリービューとリストビューの部分がズームされることが確認できます パネルとの互換性 C1ZoomPanel コントロールは Panel コントロール上のコントロールを C1ZoomPanel コンポーネントが内部に持つパネルに移動し そのパネルとコントロールの大きさを変えることでズームを実現します このため 元の Panel コントロールの以下の機能は変更が必要になります コントロールの追加 実行時にコーディングでフォームにコントロールを追加するには コントロールを追加するコードを C1ZoomPanel クラスの BeginAddControls メソッドと EndAddControls メソッドで囲います そしてコントロールを追加するには C1ZoomPanel.Controls プロパティの代わりに InnerControls プロパティを使用します 1. フォームに C1ZoomPanel コントロール (C1ZoomPanel1) を追加します 2. C1ZoomPanel1 に Button コントロール (Button1) を追加します 3. Button1.Click イベントに以下のコードを追加します Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click C1ZoomPanel1.BeginAddControls() 30 Copyright GrapeCity, Inc. All rights reserved.

Dim button2 As New Button() C1ZoomPanel1.InnerControls.Add(button2) button2.text = "Button2" button2.visible = True button2.left = Button1.Left button2.top = Button1.Top + Button1.Height + 10 C1ZoomPanel1.EndAddControls() End Sub private void button1_click(object sender, EventArgs e) C1ZoomPanel1.BeginAddControls(); Button button2 = new Button(); C1ZoomPanel1.InnerControls.Add(button2); button2.text = "Button2"; button2.visible = true; button2.left = button1.left; button2.top = button1.top + button1.height + 10; C1ZoomPanel1.EndAddControls(); 4. プロジェクトを実行し C1ZoomPanel をズームした状態で Button1 をクリックし Button2 が適切な位置と大きさで追加されることを確認します C1ApplicationZoom コンポーネント C1ApplicationZoom コンポーネントを使用すると プロジェクトに含まれるすべてのフォームをタッチによるズーム操作に対応できます C1Zoom コンポーネントを使用する場合 すべてのフォームをズーム可能にするにはフォームの数だけ C1Zoom コンポーネントを配置する必要がありますが C1ApplicationZoom コンポーネントを使用すると この作業は最初の一度だけですみます ここでは プロジェクトに含まれるすべてのフォームをズーム可能にする方法について 以下の項目に分けて解説しています 基本的な使い方特定のフォームの設定 ひとつのフォームのみズーム操作に対応する方法については C1Zoom コンポーネント を参照してください 基本的な使い方 ここでは C1ApplicationZoom コンポーネントの基本的な使用方法について解説します 概要 C1ApplicationZoom コンポーネントをスタートアップフォームに配置すると プロジェクトに含まれるすべてのフォームをタッチ 31 Copyright GrapeCity, Inc. All rights reserved.

によるズーム操作に対応できます スタートアップフォームとは ではプロジェクトのプロパティで スタートアップフォーム のドロップダウンリストで選択されているフォームです Visual ではアプリケーションのメインエントリポイント たとえば Program.cs 内の Main 関数で Application.Run メソッドに引数として渡されるフォームです C1ApplicationZoom コンポーネントは System.Windows.Forms.Application クラスの OpenForms プロパティで参照可能なすべてのフォームに 自動的に C1Zoom コンポーネントを追加します すでに C1Zoom コンポーネントまたは C1ZoomPanel コントロールがそのフォームに配置されている場合には C1ApplicationZoom コンポーネントはそのフォームを除外します したがって 特定のフォームにカスタマイズしたズーム設定を適用するために引き続きそれらのコントロールを使うことができます 注意 : C1ApplicationZoom コンポーネントではパンウィンドウは使用できません MessageBox や InputBox コモンダイアログはズームできません 関連付けられたC1Zoom コンポーネント C1ApplicationZoom クラスの GetC1Zoom メソッドを使用して 特定のフォームに関連付けられた C1Zoom コンポーネントをコードにより取得できます このメソッドは C1ApplicationZoom オブジェクトのインスタンスの有無に関わらず利用できます Imports C1.Win.C1TouchToolKit Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim subform As New Form2() Dim C1Zoom As C1Zoom = C1ApplicationZoom.GetC1Zoom(subForm) If C1Zoom Is Nothing Then MessageBox.Show("Form2 に C1Zoom コンポーネントはありません ") Else MessageBox.Show("Form2 に C1Zoom コンポーネントがあります ") C1Zoom.AboutBox() End If subform.show() End Sub using C1.Win.C1TouchToolKit; private void button1_click(object sender, EventArgs e) Form2 subform = new Form2(); C1Zoom C1Zoom = C1ApplicationZoom.GetC1Zoom(subForm); if (C1Zoom == null) 32 Copyright GrapeCity, Inc. All rights reserved.

MessageBox.Show("Form2にC1Zoomコンポーネントはありません "); else MessageBox.Show("Form2にC1Zoomコンポーネントがあります "); C1Zoom.AboutBox(); subform.show(); フォームごとに割り当てられたC1Zoom のイベントを使用する 以下の手順では フォームごとに C1ApplicationZoom コンポーネントによって割り当てられた C1Zoom コンポーネントのイベントを使って ズーム時に各フォームのタイトルバーにズーム率を表示します 1. Windows フォームプロジェクトを新規に作成します 2. フォーム (Form1) にボタン (Button1) を追加します 3. 新たにフォーム (Form2) を追加します 4. Form2 に任意のボタンやチェックボックスコントロールなどを追加します 5. Form1 の Button1 の Click イベントに次のコードを実装し ボタンクリックにより Form2 が表示されるように設定します Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim f2 As New Form2() f2.show() End Sub private void button1_click(object sender, EventArgs e) Form2 f2 = new Form2(); f2.show(); 6. フォーム (Form1) に C1ApplicationZoom コンポーネント (C1ApplicationZoom1) を追加します 7. 次のように実装します Imports C1.Win.C1TouchToolKit Private Sub C1ApplicationZoom1_C1ZoomAttaching(sender As Object, e As C1ZoomAttachingEventArgs) Handles C1ApplicationZoom1.C1ZoomAttaching If TypeOf e.form Is Form2 Then e.c1zoom.zoomfactor = 2.0F AddHandler e.c1zoom.zoomfactorchanged, AddressOf C1Zoom_ZoomFactorChanged 33 Copyright GrapeCity, Inc. All rights reserved.

End If End Sub Private Sub C1Zoom_ZoomFactorChanged(sender As Object, e As EventArgs) Dim C1Zoom As C1Zoom = DirectCast(sender, C1Zoom) Form.ActiveForm.Text = String.Format("0:P", C1Zoom.ZoomFactor) End Sub Private Sub C1ApplicationZoom1_C1ZoomDetached(sender As Object, e As C1ZoomDetachedEventArgs) Handles C1ApplicationZoom1.C1ZoomDetached If TypeOf e.form Is Form2 Then RemoveHandler e.c1zoom.zoomfactorchanged, AddressOf C1Zoom_ZoomFactorChanged End If End Sub using C1.Win.C1TouchToolKit; private void C1ApplicationZoom1_C1ZoomAttaching(object sender, C1ZoomAttachingEventArgs e) if (e.form is Form2) e.c1zoom.zoomfactor = 2.0f; e.c1zoom.zoomfactorchanged += new EventHandler(C1Zoom_ZoomFactorChanged); private void C1Zoom_ZoomFactorChanged(object sender, EventArgs e) C1Zoom C1Zoom = sender as C1Zoom; Form.ActiveForm.Text = string.format("0:p", C1Zoom.ZoomFactor); private void C1ApplicationZoom1_C1ZoomDetached(object sender, C1ZoomDetachedEventArgs e) if (e.form is Form2) e.c1zoom.zoomfactorchanged -= new EventHandler(C1Zoom_ZoomFactorChanged); 8. プロジェクトを実行し Form1 の Button1 をクリックし Form2 を表示します 注意 ユーザーが現在操作しているフォームにアクセスするには System.Windows.Forms.Form クラスの 34 Copyright GrapeCity, Inc. All rights reserved.

ActiveForm プロパティを使用します ユーザーが現在操作しているフォームの C1Zoom コンポーネントは sender 引数で参照できます C1Zoom コンポーネントのイベントは C1ApplicationZoom.OnC1ZoomDetached イベントで削除 ( 解放 ) する必要があります 特定のフォームの設定 ここでは C1ApplicationZoom コンポーネントが配置されたプロジェクトにおいて 特定のフォームを設定する方法について解説します 特定のフォームをズームの対象外にする 特定のフォームをズームの対象外にするには C1ApplicationZoom コンポーネントにフォームが関連付けられるタイミングでフォームの型に応じてキャンセルします 以下のコードはプロジェクトに 2 つのフォーム (Form1 Form2) が存在するとき Form1 に配置した C1ApplicationZoom コンポーネントから Form2 を除外します Imports C1.Win.C1TouchToolKit Private Sub C1ApplicationZoom1_C1ZoomAttaching(sender As System.Object, e As C1ZoomAttachingEventArgs) Handles C1ApplicationZoom1.C1ZoomAttaching If TypeOf e.form Is Form2 Then ' Form2 はズームの対象外になります e.cancel = True End If End Sub using C1.Win.C1TouchToolKit; private void gcapplicationzoom1_attaching(object sender, C1ZoomAttachedEventArgs e) if(e.form is Form2) // Form2 はズームの対象外になります e.cancel = true; 特定のフォームの設定を変更する 次のコードは プロジェクトに 2 つのフォーム (Form1 Form2) が存在するとき Form2 フォームだけズームの最大値を 300% に変更します 35 Copyright GrapeCity, Inc. All rights reserved.

Imports C1.Win.C1TouchToolKit Private Sub C1ApplicationZoom1_C1ZoomAttaching(sender As Object, e As C1ZoomAttachingEventArgs) Handles C1ApplicationZoom1.C1ZoomAttaching If TypeOf e.form Is Form2 Then ' Form2 だけズームの最大値を 300% にします e.c1zoom.maxzoomfactor = 3.0F End If End Sub using C1.Win.C1TouchToolKit; private void ApplicationZoom1_C1ZoomAttaching(object sender, C1ZoomAttachedEventArgs e) if(e.form is Form2) // Form2 だけズームの最大値を 300% にします e.c1zoom.maxzoomfactor = 3.0f; C1ZoomCommandProvider コンポーネント C1ZoomCommandProvider コンポーネントとユーザーコントロールを使用して タッチ操作を視覚化するコントロールバーを作成することが可能です C1ZoomCommandProvider コンポーネントは ユーザーコントロール上のコントロールに拡大 縮小 スクロールといったタッチ操作のコマンドを付与します ここでは C1ZoomCommandProvider コンポーネントの利用方法について 以下の項目に分けて解説します 基本的な使い方コントロールバー 注意 : C1ZoomCommandProvider コンポーネントはユーザーコントロール以外では使用できません また ユーザーコントロールを編集するデザイン画面でのみ ツールボックスに表示されます 基本的な使い方 ここでは コントロールバーと C1ZoomCommandProvider コンポーネントの基本的な使用方法について解説します コントロールバー C1Zoom コンポーネントが配置されているフォームでは ズームやスクロールの操作をエンドユーザーの目に触れる形で提供するコントロールバーを表示することができます コントロールバーは ユーザーコントロールで作成され C1Zoom.ControlBars プロパティが参照する ControlBar オブジェクトのコレクションに追加することで定義されます ユーザーコントロールに配置されたボタン等に拡大 縮小 スクロールといったタッチ操作のコマンドを設定するには C1ZoomCommandProvider コンポーネントを使用します 36 Copyright GrapeCity, Inc. All rights reserved.

コントロールバーの詳細な作成方法については コントロールバーコントロールバー を参照してください 組み込みのアクション C1ZoomCommandProvider コンポーネントでは 次の組み込みのアクションを提供します 定義 説明 None どのコマンドも実行しません ( デフォルト値 ) ZoomIn ZoomOut ResetZoom ScrollLeft ScrollRight ScrollUp ScrollDown SwitchFullScreen ShowOrHidePreviewWindow SelectNextControl このコマンドを実行すると 10% ズームインします 現在のズーム率が最大ズーム率に達している場合は何もしません このコマンドを実行すると 10% ズームアウトします 現在のズーム率が最小ズーム率に達している場合は何もしません ズーム率を 100% にします フォームコンテンツの幅の 1/3 だけ左にスクロールします フォームがスクロールの終端に達している場合は何もしません フォームコンテンツの幅の 1/3 だけ右にスクロールします フォームがスクロールの終端に達している場合は何もしません フォームコンテンツの高さの 1/3 だけ上にスクロールします フォームがスクロールの終端に達している場合は何もしません フォームコンテンツの高さの 1/3 だけ下にスクロールします フォームがスクロールの終端に達している場合は何もしません フォームをフルスクリーンに変更します フォームがすでにフルスクリーンになっている場合は 元に戻します パンウィンドウを表示します パンウィンドウがすでに表示されている場合は パンウィンドウを閉じます アクティブなコントロールを次に移動します 37 Copyright GrapeCity, Inc. All rights reserved.

SelectPreviousControl アクティブなコントロールを前に移動します ユーザー定義のアクション C1ZoomCommandProvider.OwnerForm プロパティを通じて コントロールバーが表示されるフォームにアクセスできます 次のコードはフォームを閉じる処理です C1ZoomCommandProvider1.OwnerForm.Close() C1ZoomCommandProvider1.OwnerForm.Close(); C1ZoomCommandProvider.OwnerC1Zoom プロパティを通じて コントロールバーが表示されるフォーム上の C1Zoom コンポーネントにアクセスできます 次のコードは ズームしたフォームで右下に向かってスクロールします Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim currentlocation As Point = C1ZoomCommandProvider1.OwnerC1Zoom.ScrollLocation currentlocation.x -= 100 currentlocation.y -= 100 C1ZoomCommandProvider1.OwnerC1Zoom.ScrollLocation = currentlocation End Sub private void button1_click(object sender, EventArgs e) Point currentlocation = C1ZoomCommandProvider1.OwnerC1Zoom.ScrollLocation; currentlocation.x -= 100; currentlocation.y -= 100; C1ZoomCommandProvider1.OwnerC1Zoom.ScrollLocation = currentlocation; コントロールバー コントロールバーはズームやスクロールの操作をエンドユーザーの目に触れる形で提供します コントロールバーは C1Zoom コンポーネントのズームから除外されるため ユーザーの操作に関わらず同じ大きさを保つことができます コントロールバーの設定 以下の手順でタッチ可能なフォームに対し コントロールバーを設定します 1. プロジェクトにユーザーコントロールを追加します (UserControl1) 38 Copyright GrapeCity, Inc. All rights reserved.

2. ユーザーコントロールにコマンドとして使用する Button コントロールを 2 つ追加します (Button1 Button2) 3. ツールボックスからユーザーコントロールに C1ZoomCommandProvider コンポーネントを追加します 4. Button コントロールのスマートタグアンカーをクリックし C1ZoomCommands の一覧から ZoomIn を選択します 同様に もう 1 つの Button コントロールに同じ手順で ZoomOut を選択します 5. プロジェクトをビルドします 6. フォームに C1Zoom コンポーネントを追加します 7. フォームに 作成した UserControl1 を追加します 8. C1Zoom コンポーネントを選択し プロパティウィンドウから C1Zoom.ControlBars プロパティを開きます 9. ControlBar コレクションエディターで 追加 をクリックし Content プロパティで WindowsFormsApplication1.UserControl1 を選択します 10. フォームを実行し Button1 と Button2 の操作でフォームをズームできることを確認します 表示位置 ControlBar.PositionMode プロパティを使って コントロールバーの表示位置を設定できます ControlBar.PositionMode プロパティに PositionMode.Dock を設定している場合 コントロールバーは親フォームにドッキングされます 親フォームがリサイズされた場合 コントロールバーの表示位置は親フォームのサイズに合わせて自動調整されます また ControlBar.DockPosition プロパティで ドッキングされたコントロールバーの表示位置を指定できます 次のコードでは ドッキングされたコントロールバーを親フォームの左下に表示します C1Zoom1.ControlBars(0).PositionMode = C1.Win.C1TouchToolKit.PositionMode.Dock C1Zoom1.ControlBars(0).DockPosition = ContentAlignment.BottomLeft C1Zoom1.ControlBars[0].PositionMode = C1.Win.C1TouchToolKit.PositionMode.Dock; C1Zoom1.ControlBars[0].DockPosition = ContentAlignment.BottomLeft; ControlBar.Margin プロパティを使用すると 親フォームの罫線とコントロールバーの間にスペースを入れることができます 39 Copyright GrapeCity, Inc. All rights reserved.

C1Zoom1.ControlBars(0).Margin = New Padding(20, 20, 20, 20) C1Zoom1.ControlBars[0].Margin = new Padding(20, 20, 20, 20); ControlBar.PositionMode プロパティに PositionMode.Floating を設定している場合 タッチ操作またはコードでコントロールバーの表示位置を変更できます C1Zoom1.ControlBars(0).PositionMode = C1.Win.C1TouchToolKit.PositionMode.Floating C1Zoom1.ControlBars[0].PositionMode = C1.Win.C1TouchToolKit.PositionMode.Floating; ControlBar.PositionMode プロパティに PositionMode.Fixed を設定している場合 コードでコントロールバーの表示位置を変更できます この場合 コントロールバーの表示位置をタッチ操作で変更することはできません C1Zoom1.ControlBars(0).PositionMode = C1.Win.C1TouchToolKit.PositionMode.Fixed C1Zoom1.ControlBars[0].PositionMode = C1.Win.C1TouchToolKit.PositionMode.Fixed; 半透明表示 ControlBar.Opacity プロパティを使って コントロールバーを対象のフォーム上で半透明に表示できます 既定値は 50% の透 40 Copyright GrapeCity, Inc. All rights reserved.

過です 半透明の場合でも 背後にあるフォームのコントロールを操作することはできません 20% 50%( 既定 ) 100% 背景色の透過 ControlBar.TransparentBackground プロパティを True に設定し ControlBar.TransparencyKey プロパティに透過したい色を設定すると コントロールバーの指定した色を透明できます このとき 透明の部分を通して背後にあるフォームのコントロールを操作することはできません C1Magnify コンポーネント C1Magnify コンポーネントを使用すると ユーザーがタッチ操作を行うときに指先に小さな拡大鏡を表示してユーザーの操作を補助できます たとえばタッチ操作で TextBox コントロールの文字列を選択するには 文字そのものを指でなぞる必要があるため 選択中は文字が指で隠れてしまいます C1Magnify コンポーネントで拡大鏡を指先に表示すると ユーザーは画面のどの部分を操作しているのか拡大鏡を通して見ることができるようになります 既定の設定では ユーザーが指を画面に一定時間置くと表示されます ここでは C1Magnifyコンポーネントの使用方法について以下の項目に分けて解説します 基本的な使い方拡大鏡の外観を変更する拡大鏡とイベント 基本的な使い方 ここでは C1Magnify コンポーネントの基本的な使用方法について解説します 拡大鏡を有効にする 41 Copyright GrapeCity, Inc. All rights reserved.

以下の手順で 拡大鏡を有効にできます 1. TextBox コントロール (TextBox1) をフォームに追加します 2. C1Magnify コンポーネント (C1Magnify1) をフォームに追加します 3. TextBox1 を選択し プロパティウィンドウから C1Magnify1 の EnableMagnifier プロパティを True に設定します 4. プロジェクトを実行し TextBox コントロール上で数秒間指を置いたままにすると 円形の拡大鏡が表示されます 指を画面に置いたまま動かすと 指の動きに合わせて拡大鏡も移動します マウスカーソルの表示 C1Magnify.ShowCursor プロパティを True に設定すると 拡大鏡内にマウスカーソルを表示にできます 既定値は False です False( 既定 ) True 次のサンプルコードは拡大鏡内にマウスカーソルを表示する例です C1Magnify1.ShowCursor = True C1Magnify1.ShowCursor = true; 拡大率の変更 拡大鏡の拡大率は C1Magnify.ZoomFactor プロパティで変更します 既定値は 200% です 200%( 既定値 ) 300% 42 Copyright GrapeCity, Inc. All rights reserved.

次のサンプルコードは 拡大鏡の拡大率を400% に設定します C1Magnify1.ZoomFactor = 4.0F C1Magnify1.ZoomFactor = 4.0f; 表示時間 拡大鏡がポップアップされるまでの時間を設定するには C1Magnify.PopupDelay プロパティを使用します レール C1Magnify.IsHorizontalRailEnabled プロパティまたは C1Magnify.IsVerticalRailEnabled プロパティを使用して はじめに指を動かした方向に拡大鏡の移動先を固定するかどうかを設定できます 拡大鏡の外観を変更する 拡大鏡は 以下のような外観を変更することができます シェイプ C1Magnify.Shape プロパティを使用すると 拡大鏡の形を円形 四角形または角丸四角形のいずれかに設定できます 既定値は円形です Circle( 円形 ) Rectangle( 四角形 ) RoundedRectangle( 角丸四角形 ) サイズ 43 Copyright GrapeCity, Inc. All rights reserved.

C1Magnify.Size プロパティを使用して 拡大鏡のサイズを設定できます 既定値は 100 100 です 100 100 150 150 150 100 境界線の太さ C1Magnify.BorderWidth プロパティを使用して 拡大鏡の境界線の太さを設定できます 既定値は 5 ピクセルです 5 ピクセル 10 ピクセル 1 ピクセル 境界線の背景 C1Maginifer.BorderBackgroundMode プロパティを使用して 拡大鏡の境界線の背景を設定できます 既定値は BackGround.Light です BackGround.Custom を設定した場合 C1Magnify.BorderBackground プロパティに背景イメージを指定します Light Dark Custom サンプルコード 次のコードは既定の円形の拡大鏡を四角形に変更し またサイズや境界線の太さも変更します C1Magnify1.BorderWidth = 3 44 Copyright GrapeCity, Inc. All rights reserved.

C1Magnify1.Shape = C1.Win.C1TouchToolKit.MagnifyShape.Rectangle C1Magnify1.Size = New Size(300, 100) C1Magnify1.BorderWidth = 3; C1Magnify1.Shape = C1.Win.C1TouchToolKit.MagnifyShape.Rectangle; C1Magnify1.Size = new Size(300, 100); 拡大鏡とイベント 拡大鏡の動作に関連したイベントについて解説します 対象のコントロールに応じた拡大鏡の設定 C1Magnify.MagnifierShowing イベントを使用すると 拡大鏡が表示される直前に拡大鏡の設定を変更できます このイベントにより 対象のコントロールに応じて異なる外観の拡大鏡を表示することも可能です また このイベントでイベントパラメータの e.cancel プロパティが True のとき拡大鏡の表示をキャンセルできます 次のコードは TextBox コントロールに対して四角形の拡大鏡を表示し NumericUpDown コントロールに対しては拡大鏡を表示しません それ以外のコントロールに対して円形の拡大鏡を表示します Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1Magnify1.SetEnableMagnifier(TextBox1, True) C1Magnify1.SetEnableMagnifier(NumericUpDown1, True) End Sub Private Sub C1Magnify1_MagnifierShowing(sender As System.Object, e As C1.Win.C1TouchToolKit.MagnifierShowingEventArgs) Handles C1Magnify1.MagnifierShowing If e.targetcontrol Is TextBox1 Then Dim magnifier As C1Magnify = DirectCast(sender, C1Magnify) magnifier.shape = MagnifierShape.Rectangle magnifier.size = New Size(200, 30) Else If e.targetcontrol Is NumericUpDown1 Then e.cancel = True Else Dim magnifier As C1Magnify = DirectCast(sender, C1Magnify) magnifier.shape = MagnifierShape.Circle magnifier.size = New Size(100, 100) End If End Sub 45 Copyright GrapeCity, Inc. All rights reserved.

using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) C1Magnify1.SetEnableMagnifier(textBox1, true); C1Magnify1.SetEnableMagnifier(numericUpDown1, true); private void C1Magnify1_MagnifierShowing(object sender, MagnifierShowingEventArgs e) if (e.targetcontrol == textbox1) C1Magnify magnifier = sender as C1Magnify; magnifier.shape = MagnifierShape.Rectangle; magnifier.size = new Size(200, 30); else if (e.targetcontrol == numericupdown1) e.cancel = true; else C1Magnify magnifier = sender as C1Magnify; magnifier.shape = MagnifierShape.Circle; magnifier.size = new Size(100, 100); 拡大鏡を閉じるときの処理 C1Magnify.MessageWhenClose プロパティを使用すると 拡大鏡を閉じるときのコントロールに対するアクションを設定できます 既定値は MessageWhenClose.None です MessageWhenCloseの値 None LeftClick RightClick 説明なし左クリック右クリック C1Magnify.Closed イベントを使用すると ユーザー定義のアクションを実装できます 次のコードは 拡大鏡が閉じたときに TextBox コントロールのすべての文字列を選択します Imports C1.Win.C1TouchToolKit Private Sub C1Magnify1_Closed(sender As System.Object, e As MagnifierEventArgs) Handles C1Magnify1.Closed If TypeOf e.targetcontrol Is TextBox Then ' Send Ctrl+a SendKeys.Send("^a") End If 46 Copyright GrapeCity, Inc. All rights reserved.

End Sub using C1.Win.C1TouchToolKit; private void C1Magnify1_Closed(object sender, MagnifierEventArgs e) if (e.targetcontrol is TextBox) // Send Ctrl+a SendKeys.Send("^a"); 拡大鏡を動かすときの処理 C1Magnify.MessageWhenMove プロパティを使用すると 拡大鏡を動かすときのコントロールに対するアクションを設定できます 既定値は MessageWhenMove.Move です MessageWhenMoveの値 None Move LeftDown 説明なし指の移動マウスの左ボタン押下 拡大鏡が移動しているときには Move イベントが発生します C1MultiScaleImage コントロール ズーム可能なフォームやパネル上に C1MultiScaleImage コントロールを配置すると 画面のズーム率に応じて最適な解像度の画像を表示できます たとえば画面が小さいときは小さい解像度の画像を表示し 画面が拡大されて大きく表示されるときは大きい解像度の画像を表示できます 47 Copyright GrapeCity, Inc. All rights reserved.

ここでは C1MultiScaleImage コントロールの使用方法について 以下の項目で解説します 基本的な使い方 基本的な使い方 ここでは C1MultiScaleImage コントロールの基本的な使い方について説明します ズーム率に応じたイメージを追加する C1MultiScaleImage コントロールに ズーム率ごとに解像度を最適化したイメージを設定することで 画面がズームされたときにズーム率に応じたイメージが表示されます ズーム率ごとのイメージを設定するには C1MultiScaleImage.Images プロパティが参照する ImageItem オブジェクトのコレクションに イメージを追加します 次のコードは ズーム率が 100% 200% および 300% のイメージを設定する例です ' ズーム率が 100% のイメージを設定します C1MultiScaleImage1.Image = Image.FromFile("C:\image100.jpg") C1MultiScaleImage1.ZoomFactor = 1.0F ' ズーム率が 200% のイメージを設定します Dim item1 As New C1.Win.C1TouchToolKit.ImageItem() item1.image = Image.FromFile("C:\image200.jpg") item1.zoomfactor = 2.0F C1MultiScaleImage1.Images.Add(item1) ' ズーム率が 300% のイメージを設定します Dim item2 As New C1.Win.C1TouchToolKit.ImageItem() item2.image = Image.FromFile("C:\image300.jpg") item2.zoomfactor = 3.0F C1MultiScaleImage1.Images.Add(item2) // ズーム率が 100% のイメージを設定します C1MultiScaleImage1.Image = Image.FromFile(@"C:\image100.jpg"); C1MultiScaleImage1.ZoomFactor = 1.0f; // ズーム率が 200% のイメージを設定します C1.Win.C1TouchToolKit.ImageItem item1 = new C1.Win.C1TouchToolKit.ImageItem(); item1.image = Image.FromFile(@"C:\image200.jpg"); item1.zoomfactor = 2.0f; C1MultiScaleImage1.Images.Add(item1); // ズーム率が 300% のイメージを設定します C1.Win.C1TouchToolKit.ImageItem item2 = new C1.Win.C1TouchToolKit.ImageItem(); item2.image = Image.FromFile(@"C:\image300.jpg"); item2.zoomfactor = 3.0f; 48 Copyright GrapeCity, Inc. All rights reserved.

C1MultiScaleImage1.Images.Add(item2); イメージを削除する C1MultiScaleImage コントロールに設定しているイメージを削除するには 以下のように実装します C1MultiScaleImage1.Image = Nothing C1MultiScaleImage1.Images.Clear() C1MultiScaleImage1.Image = null; C1MultiScaleImage1.Images.Clear(); C1TouchEventProvider コンポーネント C1TouchEventProvider コンポーネントを使用してコントロールごとにタッチやペンのイベントを検出できます たとえば既定の Button コントロールではマウスのクリックもタッチのタップでも同じく Click イベントが発生します C1TouchEventProvider コンポーネントを使用すると タッチのタップ操作では Click イベントは発生せず 別の Tap イベントが発生します これにより マウス用の処理とタッチ用の処理を使い分けることができます ここでは C1ZoomCommandProvider コンポーネントの利用方法について 以下の項目に分けて解説します 基本的な使い方タップ関連イベントの検出ジェスチャイベントの検出ポインタイベントの検出 C1Zoomコンポーネント C1ZoomPanelコントロールおよびC1ApplicationZoomコンポーネントのイベントは ズームのイベント を参照してください 基本的な使い方 ここでは C1TouchEventProvider コンポーネントの基本的な使用方法について解説します イベントの種類 C1TouchEventProvider コンポーネントでは 次のイベントを検出できます タップ関連イベント DoubleTapped イベント Holding イベント RightTapped イベント Tapped イベントジェスチャ関連イベント ManipulationCompleted イベント ManipulationDelta イベント ManipulationInertiaStarting イベント ManipulationStarted イベント ManipulationStarting イベント 49 Copyright GrapeCity, Inc. All rights reserved.

ポインタ関連イベント PointerCanceled イベント PointerCaptureLost イベント PointerEntered イベント PointerExited イベント PointerMoved イベント PointerPressed イベント PointerReleased イベント コントロールへの関連付け 特定のコントロールでタッチやペンのイベントを検出するには コントロールと C1TouchEventProvider コンポーネントを関連づける必要があります TextBox コントロール (TextBox1) と C1TouchEventProvider コンポーネント (C1TouchEventProvider1) を関連づけるには 以下の手順で設定します 1. TextBox コントロール (TextBox1) および C1TouchEventProvider コンポーネント (C1TouchEventProvider1) をフォームに追加します 2. TextBox1 を選択し プロパティウィンドウから C1TouchEventProvider1 の EnableTouchEvents プロパティを True に設定します また コードから設定するには C1TouchEventProvider.SetEnableTouchEvents メソッドを使用します C1TouchEventProvider1.SetEnableTouchEvents(TextBox1, True) C1TouchEventProvider1.SetEnableTouchEvents(TextBox1, true); ルーティングポリシー C1TouchEventProvider コンポーネントのすべてのイベントはルーティングイベントです これは C1TouchEventProvider コンポーネントがコンテナコントロールにアタッチされたとき コンテナコントロールの子コントロールも C1TouchEventProvider コンポーネントのイベントで処理できることを意味します 以下の例ではパネル上に 3 つのボタンがあります そしてパネルに C1TouchEventProvider コンポーネントがアタッチされています パネル上のボタンをタップしたとき C1TouchEventProvider.Tappedイベントが発生します Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 50 Copyright GrapeCity, Inc. All rights reserved.

C1TouchEventProvider1.SetEnableTouchEvents(Panel1, True) End Sub Private Sub C1TouchEventProvider1_Tapped(sender As System.Object, e As TappedEventArgs) Handles C1TouchEventProvider1.Tapped If Not e.targetcontrol Is Nothing Then Console.WriteLine(e.TargetControl.Name) End If End Sub using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) C1TouchEventProvider1.SetEnableTouchEvents(panel1, true); C1TouchEventProvider1.Tapped += new EventHandler<TappedEventArgs> (C1TouchEventProvider1_Tapped); private void C1TouchEventProvider1_Tapped(object sender, TappedEventArgs e) if (e.targetcontrol!= null) Console.WriteLine(e.TargetControl.Name); ルーティングの方向 ルーティングイベントは親コントロールに対して子コントロールから先に発生します たとえば Panel1 の子コントロールとして Button1 があります このとき Button1 と Panel1 の両方が C1TouchEventProvider コンポーネントにアタッチされているものとします タッチのイベントは Button1 に対して先に発生し その後 Panel1 に対して発生します Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1TouchEventProvider1.SetEnableTouchEvents(Button1, True) C1TouchEventProvider1.SetEnableTouchEvents(Panel1, True) End Sub Private Sub C1TouchEventProvider1_Tapped(sender As System.Object, e As TappedEventArgs) Handles C1TouchEventProvider1.Tapped If Not e.targetcontrol Is Nothing Then Console.WriteLine("0,1", DateTime.Now.ToString(), e.targetcontrol.name) End If End Sub 51 Copyright GrapeCity, Inc. All rights reserved.

using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) C1TouchEventProvider1.SetEnableTouchEvents(button1, true); C1TouchEventProvider1.SetEnableTouchEvents(panel1, true); C1TouchEventProvider1.Tapped += new EventHandler<TappedEventArgs> (C1TouchEventProvider1_Tapped); private void C1TouchEventProvider1_Tapped(object sender, TappedEventArgs e) if (e.targetcontrol!= null) Console.WriteLine("0,1", DateTime.Now.ToString(), e.targetcontrol.name); ルーティングイベントの情報 C1TouchEventProvider コンポーネントのすべてのイベント引数は TouchRoutedEventArgs クラスを継承します TouchRoutedEventArgs クラスを通して TargetControl プロパティと OriginalSource プロパティを取得できます TargetControl プロパティは現在のイベントのコントロールを示します OriginalSource プロパティはイベントを受け取った最初のコントロールを示します たとえば Panel1 の子コントロールとして Button1 があります このとき Button1 と Panel1 の両方が C1TouchEventProvider コンポーネントにアタッチされているものとします Button1 がタッチイベントを受信したとき TargetControl プロパティは "Button1" OriginalSource プロパティも "Button1" になります Panel1 がタッチイベントを受信したとき TargetControl プロパティは "Panel1" OriginalSource プロパティは "Button1" になります Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1TouchEventProvider1.SetEnableTouchEvents(Button1, True) C1TouchEventProvider1.SetEnableTouchEvents(Panel1, True) End Sub Private Sub C1TouchEventProvider1_Tapped(sender As System.Object, e As TappedEventArgs) Handles C1TouchEventProvider1.Tapped If Not e.targetcontrol Is Nothing Then Console.WriteLine("0,1,2", DateTime.Now.ToString(), e.targetcontrol.name, e.originalsource.name) End If End Sub using C1.Win.C1TouchToolKit; 52 Copyright GrapeCity, Inc. All rights reserved.

private void Form1_Load(object sender, EventArgs e) this.c1toucheventprovider1.setenabletouchevents(button1, true); this.c1toucheventprovider1.setenabletouchevents(panel1, true); this.c1toucheventprovider1.tapped += new EventHandler<TappedEventArgs> (C1TouchEventProvider1_Tapped); private void C1TouchEventProvider1_Tapped(object sender, TappedEventArgs e) if (e.targetcontrol!= null) Console.WriteLine("0,1,2", DateTime.Now.ToString(), e.targetcontrol.name, e.originalsource.name); イベントのハンドリング 子コントロールでイベントを処理し 親コントロールでイベントを処理したくない場合 TouchRoutedEventArgs.Handled プロパティに True を設定することでイベントをブロックできます Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load C1TouchEventProvider1.SetEnableTouchEvents(Button1, True) C1TouchEventProvider1.SetEnableTouchEvents(Panel1, True) End Sub Private Sub C1TouchEventProvider1_Tapped(sender As System.Object, e As TappedEventArgs) Handles C1TouchEventProvider1.Tapped If Not e.targetcontrol Is Nothing Then Console.WriteLine("0,1,2", DateTime.Now.ToString(), e.targetcontrol.name, e.originalsource.name) e.handled = True End If End Sub using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) this.c1toucheventprovider1.setenabletouchevents(button1, true); this.c1toucheventprovider1.setenabletouchevents(panel1, true); this.c1toucheventprovider1.tapped += new EventHandler<TappedEventArgs> (C1TouchEventProvider1_Tapped); 53 Copyright GrapeCity, Inc. All rights reserved.

private void C1TouchEventProvider1_Tapped(object sender, TappedEventArgs e) if (e.targetcontrol!= null) Console.WriteLine("0,1,2", DateTime.Now.ToString(), e.targetcontrol.name, e.originalsource.name); e.handled = true; 最大タッチ数の取得 システム上の最大タッチ数を取得するためには C1TouchEventProvider.MaximunTouches プロパティを使用します 以下コードでは Windows 8 または Windows Server 2012 またはより新しいバージョンの Windows であるかどうかを検出し マルチタッチがサポートされているかどうかをユーザーに表示する例です Imports C1.Win.C1TouchToolKit ' OS が Windows 8 または Server 2012 あるいはより新しいバージョンである場合 True を返します ' それ以外の場合は False を返します Private Shared Function IsWindows8() If Environment.OSVersion.Version.Major >= 6 AndAlso Environment.OSVersion.Version.Minor >= 2 Then Return True Else Return False End If End Function Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click If C1TouchEventProvider.MaximunTouches < 2 AndAlso IsWindows8() = False Then MessageBox.Show(" マルチタッチはサポートされていません ") Else MessageBox.Show(" マルチタッチがサポートされています ") End If End Sub using C1.Win.C1TouchToolKit; // OS が Windows 8 または Server 2012 あるいはより新しいバージョンである場合 true を返します // それ以外の場合は false を返します private static bool IsWindows8() if (Environment.OSVersion.Version.Major >= 6 && 54 Copyright GrapeCity, Inc. All rights reserved.

Environment.OSVersion.Version.Minor >= 2) return true; else return false; private void button1_click(object sender, EventArgs e) if (C1TouchEventProvider.MaximunTouches < 2 IsWindows8() == false) MessageBox.Show(" マルチタッチはサポートされていません "); else MessageBox.Show(" マルチタッチがサポートされています "); タップ関連イベントの検出 C1TouchEventProvider コンポーネントでは タップ ダブルタップ 右タップおよびホールド ( 長押し ) を検出できます タップイベントの検出 ここでは Button コントロールでマウスによるクリックと タッチによるタップを区別する方法を示します マウスに対応するイベントは 各コントロールのイベント (Control.Click イベントや Control.MouseDown イベント ) を使用します 1. Button コントロール (Button1) をフォームに追加します 2. C1TouchEventProvider コンポーネント (C1TouchEventProvider1) をフォームに追加します 3. Button1 を選択し プロパティウィンドウから C1TouchEventProvider1 の EnableTouchEvents プロパティを True に設定します 4. Button1 を選択し Click イベントに下記のコードを追加します 5. C1TouchEventProvider1 を選択し Tapped イベントに下記のコードを追加します 6. プロジェクトを実行し Button1 をクリックまたはタップします Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show(" クリックされました ") End Sub Private Sub C1TouchEventProvider1_Tapped(sender As Object, e As C1.Win.C1TouchToolKit.TappedEventArgs) Handles C1TouchEventProvider1.Tapped If e.targetcontrol Is Button1 Then MessageBox.Show(" タップされました ") End If End Sub 55 Copyright GrapeCity, Inc. All rights reserved.

private void button1_click(object sender, EventArgs e) MessageBox.Show(" クリックされました "); private void C1TouchEventProvider1_Tapped(object sender, C1.Win.C1TouchToolKit.TappedEventArgs e) if (e.targetcontrol == button1) MessageBox.Show(" タップされました "); タップ & ホールドの検出 Windows ではタッチの長押しが右クリックに変換されます C1ToucheventProvider.EnablePressAndHold プロパティを False に変更すると C1ToucheventProvider.RightTapped イベントが発生しなくなり 長押しを繰り返しのクリック操作として検出できます たとえばスピンボタンをマウスのボタンで長押しした場合に数値をカウントアップするような操作に割り当てることができます 以下は NumericUpDown コントロールに対して スピンボタンの代用となる 2 つのボタンを実装する例です 1. NumericUpDown コントロール (NumericUpDown1) をフォームに追加します 2. Button コントロールを 2 つ (Button1 Button2) フォームに追加し 以下のように実装します Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Button1.Text = "+" Button2.Text = "-" C1TouchEventProvider1.SetEnableTouchEvents(Button1, True) C1TouchEventProvider1.SetEnableTouchEvents(Button2, True) C1TouchEventProvider1.EnablePressAndHold = False End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click If NumericUpDown1.Value < NumericUpDown1.Maximum Then NumericUpDown1.Value += 1 End If End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 56 Copyright GrapeCity, Inc. All rights reserved.

If NumericUpDown1.Value > NumericUpDown1.Minimum Then NumericUpDown1.Value -= 1 End If End Sub using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) button1.text = "+"; button2.text = "-"; C1TouchEventProvider1.SetEnableTouchEvents(button1, true); C1TouchEventProvider1.SetEnableTouchEvents(button2, true); C1TouchEventProvider1.EnablePressAndHold = false; private void button1_click(object sender, EventArgs e) if (numericupdown1.value < numericupdown1.maximum) numericupdown1.value += 1; private void button2_click(object sender, EventArgs e) if (numericupdown1.value > numericupdown1.minimum) numericupdown1.value -= 1; 3. プロジェクトを実行し Button1 または Button2 をタッチで長押しします ジェスチャイベントの検出 C1TouchEventProvider コンポーネントでは 回転や拡大といった操作 ( ジェスチャ ) を検出できます ジェスチャイベントの検出 ここでは Label コントロール上でマルチタッチ操作によって回転や拡大といった操作 ( ジェスチャ ) を検出する方法を紹介します 1. Label コントロール (Label1) をフォームに追加し 次のようにプロパティを設定します Label1.AutoSize = False Label1.BackColor = Color.Cyan Label1.Size = New Size(300, 300) 57 Copyright GrapeCity, Inc. All rights reserved.

Label1.AutoSize = false; Label1.BackColor = Color.Cyan; Label1.Size = new Size(300, 300); 2. C1TouchEventProvider コンポーネント (C1TouchEventProvider1) をフォームに追加します 3. Label1 を選択し プロパティウィンドウから C1TouchEventProvider1 の EnableTouchEvents プロパティを True に設定します 4. C1TouchEventProvider1 を選択し ManipulationDelta イベントに下記のコードを追加します Private Sub C1TouchEventProvider1_ManipulationDelta(sender As Object, e As C1.Win.C1TouchToolKit.ManipulationDeltaEventArgs) Handles C1TouchEventProvider1.ManipulationDelta If e.targetcontrol Is Label1 Then Label1.Text = String.Format(" 拡大 :10 回転 :20 直線的な動き :3", Environment.NewLine, e.delta.scale, e.delta.rotation, e.delta.translation) End If End Sub private void C1TouchEventProvider1_ManipulationDelta(object sender, C1.Win.C1TouchToolKit.ManipulationDeltaEventArgs e) if (e.targetcontrol == label1) label1.text = string.format(" 拡大 :10 回転 :20 直線的な動き :3", Environment.NewLine, e.delta.scale, e.delta.rotation, e.delta.translation); 5. プロジェクトを実行し タッチ操作で回転や拡大といった操作を実行します 特定のジェスチャの検出 既定ではすべてのジェスチャの検出が有効です 特定のジェスチャだけを検出するには C1TouchEventProvider.ManipulationMode プロパティを変更します たとえば 回転のジェスチャだけを検出するには次のようにコーディングします C1TouchEventProvider1.ManipulationMode = C1.Win.C1TouchToolKit.ManipulationModes.Rotate 58 Copyright GrapeCity, Inc. All rights reserved.

C1TouchEventProvider1.ManipulationMode = C1.Win.C1TouchToolKit.ManipulationModes.Rotate; 複数のジェスチャを検出できるようにするには 次のようにコーディングします Imports C1.Win.C1TouchToolKit C1TouchEventProvider1.ManipulationMode = ManipulationModes.Rotate Or ManipulationModes.Scale using C1.Win.C1TouchToolKit; C1TouchEventProvider1.ManipulationMode = ManipulationModes.Rotate ManipulationModes.Scale; ポインタイベントの検出 C1TouchEventProvider コンポーネントでは 指によるタッチやペンといったポインタデバイスによるコントロール領域でのアクションを検出できます ポインタデバイスの検出 ポインタ関連イベントでのイベントパラメータの PointerEventArgs クラスの DeviceType プロパティを使用することで イベントを発生させたのが指によるタッチか ペンかを検出することができます 次のコードは TextBox コントロール (TextBox1) の領域にポインタが入ったときに ポインタデバイスがタッチかペンかを検出します Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load C1TouchEventProvider1.SetEnableTouchEvents(TextBox1, True) End Sub Private Sub C1TouchEventProvider1_PointerEntered(sender As Object, e As PointerEventArgs) Handles C1TouchEventProvider1.PointerEntered If e.targetcontrol Is TextBox1 Then If e.devicetype = PointerDeviceType.Touch Then MessageBox.Show(" タッチで押されました ") ElseIf e.devicetype = PointerDeviceType.Pen Then MessageBox.Show(" ペンで押されました ") End If 59 Copyright GrapeCity, Inc. All rights reserved.

End If End Sub using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) C1TouchEventProvider1.SetEnableTouchEvents(this.button1, true); C1TouchEventProvider1.PointerEntered += C1TouchEventProvider1_PointerEntered; private void C1TouchEventProvider1_PointerEntered(object sender, PointerEventArgs e) if (e.targetcontrol == TextBox1) if (e.devicetype == PointerDeviceType.Touch) MessageBox.Show(" タッチで押されました "); else if (e.devicetype == PointerDeviceType.Pen) MessageBox.Show(" ペンで押されました "); ペンフリックの抑止 ペンでフリック操作を行った時 Windows のコントロールパネルの設定に従ってコントロールにスクロールなどのメッセージが送出されることがあります これは ペンフリック と呼ばれる機能です C1ToucheventProvider.EnablePenFlicks プロパティを False に設定すると ペンフリックを抑止できます 60 Copyright GrapeCity, Inc. All rights reserved.

C1TouchEventProvider1.EnablePenFlicks = False C1TouchEventProvider1.EnablePenFlicks = false; ズームポリシー TouchToolKit には一部の標準コントロールやサードパーティ製コントロールをサポートするためのズームポリシーが用意されています 標準コントロールには組み込みのズームポリシーを提供し サードパーティ製コントロールにはテンプレートでズームポリシーを提供します このズームポリシーテンプレート ( 以下 テンプレート ) は Visual Studio の 新しい項目の追加 からプロジェクトに追加することができます テンプレートは および のソースコードとして提供されているので テンプレートのコピーを修正して独自のズームポリシーを実装できます ここでは ズームポリシーについて以下の項目に分けて解説しています ズームポリシーテンプレートの登録基本的な使い方標準コントロール 61 Copyright GrapeCity, Inc. All rights reserved.

ActiveReports for.net ComponentOne for WinForms InputMan for Windows Forms LEADTOOLS Imaging Pro MultiRow for Windows Forms PlusPak for Windows Forms SPREAD for Windows Forms Power Packs WPF 相互運用機能ユーザー定義のズームポリシー ズームポリシーテンプレートの登録 次のトピックの説明にあるように グレープシティ製品を含むサードパーティコントロールのズームポリシーを Visual Studio のテンプレートから使用するためには あらかじめ \ComponentOne\WinForms\C1TouchToolKit\Templates フォルダ内にある以下の.cmd ファイルを実行して テンプレートをインストールする必要があります ファイル InstallTemplates_2008.cmd InstallTemplates_2010.cmd InstallTemplates_2012.cmd InstallTemplates_2013.cmd 内容 Visual Studio 2008 用 Visual Studio 2010 用 Visual Studio 2012 用 Visual Studio 2013 用 次の手順に従って ズームポリシーテンプレートをインストールします 1. 対象の Visual Studio のバージョンに合わせて.cmd ファイルを実行します.cmd ファイルは 必ず ファイルを右クリックして表示されるコンテキストメニューの 管理者として実行 から実行してください 通常の操作で実行した場合はテンプレートがコピーされず 異常終了しました のメッセージが表示されて終了します 2. ファイルをコピーしました のメッセージが表示されます 3. 登録処理を実行中です... のメッセージが表示されたら そのまま待機します 4. 登録が完了しました のメッセージが表示されたら インストールは完了です 何かキーを押して終了してください なお テンプレートファイルを削除する場合は 同じフォルダ内にある InstallTemplates_Remove.cmd を実行します この.cmd ファイルは すべてのバージョンの Visual Studio からテンプレートを削除します 基本的な使い方 ここでは ズームポリシーの基本的な使用方法について説明します ZoomFactor プロパティを持つコントロールのズーム ズーム対象のコントロールが "ZoomFactor" という名前のプロパティを持っている場合 C1Zoom コンポーネント C1ZoomPanel コントロールあるいは C1ApplicationZoom コンポーネントの ZoomFactor プロパティが変更されると 変更された値がコントロールの ZoomFactor プロパティに設定されます この動作によって ZoomFactor プロパティを持つコントロールは 常に TouchToolKit のズーム率と同じ値が設定されます 組み込みのズームポリシー TouchToolKit には 一部の標準コントロールについて最良のズーム結果を得るため 組み込みのズームポリシーが用意されています これらのズームポリシーは C1Zoom コンポーネント C1ZoomPanel コントロールあるいは C1ApplicationZoom コンポーネントのスマートタグから ズームポリシーの編集... を選択し ZoomPolicy コレクションエディターで確認できます 組み込みのズームポリシーを無効にしたい場合は 該当のコントロールのズームポリシーにおいて Enabled プロパティを False にしま 62 Copyright GrapeCity, Inc. All rights reserved.

す ズームポリシーテンプレート グレープシティ製品を含むサードパーティコントロールのズームポリシーテンプレート ( 以下 テンプレート ) を適用するには 以下の手順で行います 1. [ プロジェクト ] メニューから [ 新しい項目の追加 ] を選択します 2. 左メニューの 共通項目 から を 中央の項目から該当するズームポリシーのテンプレート名を選択し 追加 ボタンをクリックします 63 Copyright GrapeCity, Inc. All rights reserved.

3. プロジェクトをビルドします 4. C1Zoom コンポーネント C1ZoomPanel コントロールあるいは C1ApplicationZoom コンポーネントのスマートタグから ズームポリシーの編集... を選択し ZoomPolicy コレクションエディターを起動します 5. ZoomPolicy コレクションエディターの カスタムポリシーの追加 ボタンを押下し 目的のズームポリシーを追加します このとき 2. で追加したテンプレートに一つのズームポリシーしか含まれていない場合 (C1FlexGridZoomPolicy など ) カスタムポリシーの追加 ボタンを押下するだけで ズームポリシーが追加されます 64 Copyright GrapeCity, Inc. All rights reserved.

2. で追加したテンプレートに複数のズームポリシーが含まれている場合 (InputManZoomPolicy など ) カスタムポリシーの追加 のドロップダウンボタンを押下すると ズームポリシーの一覧がドロップダウン表示されるので 目的のズームポリシーを選択します 標準コントロール TouchToolKit には 一部の標準コントロールについて最良のズーム結果を得るため 組み込みのズームポリシーが用意されています ComboBox コントロール ComboBox コントロールでは ズーム操作を行うと ComboBox コントロールのテキストが選択状態になります ComboBoxZoomPolicy を使用すると この動作が無効になります ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) DataGridView コントロール DataGridViewZoomPolicy は DataGridView コントロールのズーム操作をサポートします DataGridViewZoomPolicy により ズーム時の列 行 セルのサイズと文字サイズが最適化されます DataGridView コントロールの行数が多い場合 すべての行またはセルのデフォルト値を変更したときにパフォーマンスの問題が生じることがあります これを避けるには DataGridViewZoomPolicy.ZoomRowHeight または DataGridViewZoomPolicy.ZoomCellStyleFont プロパティの値を False に変更してください コードで DataGridView コントロールに新しい行を追加する場合は C1Zoom.BeginAddControls メソッドと C1Zoom.EndAddControls メソッドを使用します ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 65 Copyright GrapeCity, Inc. All rights reserved.

FlowLayoutPanel コントロール FlowLayoutPanel コントロールでは ズーム操作で拡大後にズーム率を 100% に戻すと FlowLayoutPanel コントロール上に配置されたコントロールのレイアウトが崩れてしまいます FlowLayoutPanelZoomPolicy を使用すると ズーム率を 100% に戻したときにレイアウトを保持します ズーム率 160% ズーム率 100%( ズームポリシーなし ) ズーム率 100%( ズームポリシーあり ) ListBox コントロール ListBoxZoomPolicy は ListBox コントロールのズーム操作をサポートします ListBoxZoomPolicy により ListBox コントロールの MultiColumn プロパティが True に設定され ColumnWidth プロパティが 0 より大きいときに ズーム時の列幅が最適化されます ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) ListView コントロール ListViewZoomPolicy は ListView コントロールのズーム操作をサポートします ListViewZoomPolicy により ズーム時の文字のサイズと列幅が最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) MonthCalendar コントロール MonthCanlendarZoomPolicy は MonthCalendar コントロールのズーム操作をサポートします MonthCalendar コントロールのサイズや文字サイズはズームできませんが MonthCanlendarZoomPolicy により MonthCalendar コントロールは空白スペースの中央に移動します ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 66 Copyright GrapeCity, Inc. All rights reserved.

PictureBox コントロール PictureBoxZoomPolicy は PictureBox コントロールのズーム操作をサポートします PictureBoxZoomPolicy を使用すると PictureBox コントロールの SizeMode プロパティが Zoom ではないときに サイズ比率を維持したままズームします 下図の PictureBox コントロールの BackColor プロパティは AliceBlue に設定されています ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) なお ズーム率に応じた解像度の画像を表示するには C1MultiScaleImage コントロール を使用できます PropertyGrid コントロール PropertyGridZoomPolicy は PropertyGrid コントロールのズーム操作をサポートします PropertyGridZoomPolicy により ボタン フォント レイアウトのズーム結果が最適化されます ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) SplitContainer コントロール SplitContainerZoomPolicy は SplitContainer コントロールのズーム操作をサポートします FixedPanel プロパティに None 以外の値が設定されているとき SplitContainerZoomPolicy により ズーム時の分割線の位置や幅が最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) TabControl コントロール TabControlZoomPolicy は TabControl コントロールのズーム操作をサポートします ItemSize プロパティが既定値ではないとき タブのサイズが最適化されます ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) 67 Copyright GrapeCity, Inc. All rights reserved.

TableLayoutPanel コントロール TableLayoutPanelZoomPolicy は TableLayoutPanel コントロールのズーム操作をサポートします TableLayoutPanelZoomPolicy により TableLayoutPanel コントロールの ColumnStyle.SizeType プロパティまたは RowStyle.SizeType プロパティの値が Absolute に設定されているとき TableLayoutPanelZoomPolicy によりズーム時の列の幅と行の高さが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) ToolStrip コントロール ToolStripZoomPolicy は ToolStrip コントロールのズーム操作をサポートします ToolStripZoomPolicy により ToolStrip コントロールのフォントが最適化されます ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) TreeView コントロール TreeViewZoomPolicy は TreeView コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき TreeViewZoomPolicy により ズーム時の各ノードのインデントや 項目の高さおよび文字サイズが最適化されます Indent ItemHeight NodeFont メモ : TreeNode.NodeFontプロパティの値を変更するため TreeViewZoomPolicyはツリーのすべてのノードを列挙します ツリーのノード数が多い場合は これによってパフォーマンスの問題が生じることがあります この問題を避けるため TreeViewZoomPolicyクラスのEnabledプロパティをFalseに変更します ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) ActiveReports for.net TouchToolKit は ActiveReports for.net( 以下 ActiveReports) のズームを最適化するテンプレートの ActiveReportsZoomPolicy を提供しています テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください ビューワ ビューワが ActiveReports のコンテンツコントロールである場合 そのコンテンツ領域はズームできませんが ActiveReportsZoomPolicy を使用すればビューワ内のどの部分でもズームできます 注意 : ビューワのツールバー上のボタンやテキストボックスなどはズームできません ズーム率 100% 68 Copyright GrapeCity, Inc. All rights reserved.

ズーム率 150%( ズームポリシーなし ) ズーム率 150%( ズームポリシーあり ) ComponentOne for WinForms TouchToolKit は ComponentOne for WinForms に搭載されているコントロールのズームを最適化するテンプレートを提供しています ここでは 各コントロールについてのズームポリシーについて説明します テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください C1Chart3D コントロール C1Chart3DZoomPolicy は C1Chart3D コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1Chart3DZoomPolicy により チャートサイズが最適化されます ChartArea.SizeDefault ズーム率 100% ズーム率 160%( ズームポリシーなし ) ズーム率 160%( ズームポリシーあり ) C1Chart コントロール C1ChartZoomPolicy は C1Chart コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1ChartZoomPolicy により ズーム時の文字サイズやチャートサイズが最適化されます Font Size ChartLabel ChartArea Axis PlotArea ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1MainMenu C1DockingTab コントロール C1CommandZoomPolicy は C1MainMenu と C1DockingTab コントロールのズーム操作をサポートします C1MainMenu と C1DockingTab コントロールのフォントまたはサイズが既定値ではないとき C1CommandZoomPolicy により ズーム時の文字サ 69 Copyright GrapeCity, Inc. All rights reserved.

イズやチャートサイズが最適化されます C1MainMenu ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1DockingTab ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1FlexGrid コントロール C1FlexGridZoomPolicy は C1FlexGrid コントロールのズーム操作をサポートします C1FlexGridZoomPolicy により ズーム時の列や行 セルのサイズと文字サイズが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1GanttView コントロール C1GanttViewZoomPolicy は C1GanttView コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1GanttViewZoomPolicy により ズーム時にすべての要素が適切に表示されるよう最適化されます GridWidth Timescale.BottomTier Timescale.TopTier Timescale.MiddleTier Columns.Width ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1Gauge コントロール C1GaugeZoomPolicy は C1Gauge コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1GaugeZoomPolicy により ズーム時にすべての要素が適切に表示されるよう最適化されます Viewport.X Viewport.Y Viewport.Width Viewport.Height Viewport.TranslateX Viewport.TranslateY Viewport.MarginX Viewport.MarginY ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1PrintPreviewControl コントロール C1ReportZoomPolicy は C1PrintPreviewControl コントロールのズーム操作をサポートします C1ReportZoomPolicy により ズーム時に C1PrintPreviewControl コントロールのプレビューのズーム率を保持して すべての要素が適切に表示されるよう最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 70 Copyright GrapeCity, Inc. All rights reserved.

C1Ribbon C1StatusBar コントロール C1RibbonZoomPolicy は C1Ribbon コントロールと C1StatusBar コントロールのズーム操作をサポートします ズーム操作を実行するとき C1Ribbon コントロールと C1StatusBar コントロールの文字はズームできますが コンテンツのサイズはズームできません C1RibbonZoomPolicy はこの問題を解決します ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1Calendar C1Schedule コントロール C1ScheduleZoomPolicy は C1Calendar コントロールと C1Schedule コントロールのズーム操作をサポートします C1Calendar ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1Schedule ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1SplitContainer コントロール C1SplitContainerZoomPolicy は C1SplitContainer コントロールのズーム操作をサポートします C1SplitContainerZoomPolicy により ズーム時にヘッダの高さ パネルの幅と高さが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1TileControl コントロール C1TileControlZoomPolicy は C1TileControl コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1TileControlZoomPolicy により タイルのサイズが最適化されます TemplateElement.FixedWidth TemplateElement.FixedHeight TemplateElement.Margin TextSize GroupTextSize ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 71 Copyright GrapeCity, Inc. All rights reserved.

C1TrueDBGrid コントロール C1TrueDBGridZoomPolicy は C1TrueDBGrid コントロールのズーム操作をサポートします C1TrueDBGridZoomPolicy によりズーム時のセルの高さや幅が最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) InputMan for Windows Forms TouchToolKit は InputMan for Windows Forms( 以下 InputMan) に搭載されているコントロールのズームを最適化するテンプレート InputManZoomPolicy を提供しています InputManZoomPolicy には InputMan の各コントロールについての複数のズームポリシーが含まれています 以下では それぞれのズームポリシーについて説明します テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください 注意 InputManのC1FieldStylerコンポーネントには 実行時にフォーカスが変更されたときにフィールドのフォントを変更する機能があります この機能は TouchToolKitと衝突するため 同じフォームでC1FieldStylerコンポーネントとC1Zoomコンポーネントの両方を使用することはできません C1CharMask コントロール C1CharMaskZoomPolicy は C1CharMask コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1CharMaskZoomPolicy により ズーム時のボックスのサイズやボックス間の余白 および文字サイズが最適化されます CharBoxes.Size CharBoxes.Font CharBoxSpacing 下図では 違いをわかりやすくするため 左端のボックスのフォントを変更しています ズーム率 100% ズーム率 150%( ズームポリシーなし ) ズーム率 150%( ズームポリシーあり ) C1ComboBox コントロール C1ComboBoxZoomPolicy は C1ComboBox コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1ComboBoxZoomPolicy により ズーム時のサイドボタンの幅やドロップダウンリストのサイズが最適化されます DropDownMaxHeight DropDown.Height DropDown.Width SideButtons.ButtonWidth ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) 72 Copyright GrapeCity, Inc. All rights reserved.

C1DateTime コントロール C1DateTimeZoomPolicy は C1DateTime コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1DateTimeZoomPolicy により ズーム時のドロップダウンボタンの幅や ドロップダウンカレンダーのサイズ 文字サイズやヘッダの高さなどが最適化されます DropDownCalendar.Font ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) C1ListBox コントロール C1ListBoxZoomPolicy は C1ListBox コントロールのズーム操作をサポートします AutoItemHeight プロパティが False に設定されている場合 C1ListBoxZoomPolicy によりズーム時の項目の高さが最適化されます ズーム率 100% ズーム率 110%( ズームポリシーなし ) ズーム率 110%( ズームポリシーあり ) C1Mask コントロール C1MaskZoomPolicy は C1Mask コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1MaskZoomPolicy により ズーム時のサイドボタンの幅や列挙型ドロップダウンフィールドのサイズが最適化されます SideButtons.ButtonWidth SideButtons.DropDown.Size MaskPatternField.Font ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) C1Number コントロール C1NumberZoomPolicy は C1Number コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1NumberZoomPolicy により ズーム時のサイドボタンの幅やドロップダウン電卓のサイズが最適化されます DisplayFields.Font 73 Copyright GrapeCity, Inc. All rights reserved.

DropDownCalculator.OutputHeight Fields.Font SideButtons.ButtonWidth PopUpCalculator.Font ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1TextBox コントロール C1TextBoxZoomPolicy は C1TextBox コントロールのズーム操作をサポートします MultiLine プロパティが True に設定されていて 以下のプロパティが既定値ではないとき C1TextBoxZoomPolicy により ズーム時のサイドボタンの幅やドロップダウンエディットの文字サイズが最適化されます DropDownEditor.Font ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) C1TimeSpan コントロール C1TimeSpanZoomPolicy は C1TimeSpan コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1TimeSpanZoomPolicy により ズーム時のサイドボタンの幅や文字サイズが最適化されます SideButtons.ButtonWidth Fields.Font DisplayFields.Font ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) LEADTOOLS Imaging Pro TouchToolKit は LEADTOOLS Imaging Pro( 以下 LEADTOOLS) に搭載されているコントロールのズームを最適化するテンプレート LeadtoolsZoomPolicy を提供しています LeadtoolsZoomPolicy には LEADTOOLS の各コントロールについての複数のズームポリシーが含まれています 以下では それぞれのズームポリシーに 74 Copyright GrapeCity, Inc. All rights reserved.

ついて説明します テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください RasterImageViewer コントロール RasterImageViewerZoomPolicy は RasterImageViewer コントロールのズーム操作をサポートします RasterImageViewerZoomPolicy により ズーム時の画像のサイズが最適化されます 下図の RasterImageViewer コントロールの Dock は Fill で BackColor プロパティは Yellow に設定されています ズーム率 100% ズーム率 150%( ズームポリシーなし ) ズーム率 150%( ズームポリシーあり ) RasterImageList コントロール RasterImageListZoomPolicy は RasterImageList コントロールのズーム操作をサポートします RasterImageListZoomPolicy により 画像のサイズが最適化されます ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) MultiRow for Windows Forms TouchToolKitには MultiRow for Windows Forms( 以下 MultiRow) 用のズームポリシーは用意されていません MultiRow のC1MultiRowコントロールには "ZoomFactor" という名前のプロパティが存在し C1Zoom コンポーネントやC1ZoomPanelコンポーネントは C1MultiRowコントロールのズーム率に自動的に同期します そのため ズームポリシーによる最適化は必要ありません PlusPak for Windows Forms TouchToolKit は PlusPak for Windows Forms( 以下 PlusPak) に搭載されているコントロールのズームを最適化するテンプレート PlusPakZoomPolicy を提供しています PlusPakZoomPolicy には PlusPak の各コントロールについての複数のズームポリシーが含まれています 以下では それぞれのズームポリシーについて説明します テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください 注意 : PlusPak の C1Resize コンポーネントは TouchToolKit の機能と衝突するため 同じフォームで C1Resize と C1Zoom コンポーネントの両方を使用することはできません PlusPak の C1StylePlus コンポーネントには 実行時にフォーカスが変更されたときにコントロールのフォントを変更する機能があります この機能は TouchToolKit と衝突するため 同じフォームで C1StylePlus コンポーネントと C1Zoom コンポーネントの両方を使用することはできません C1AccordionContainer コントロール C1AccordionContainerZoomPolicy は C1AccordionContainer コントロールのズーム操作をサポートします 75 Copyright GrapeCity, Inc. All rights reserved.

ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1BarCode コントロール C1BarCodeZoomPolicy は C1BarCode コントロールのズーム操作をサポートします AdjustSize プロパティの値が False に設定されている場合 C1BarCodeZoomPolicy によりズーム時の C1BarCode コントロールは空白スペースの中央に移動します ズーム率 100% ズーム率 150%( ズームポリシーなし ) ズーム率 150%( ズームポリシーあり ) C1Calculator コントロール C1CalculatorZoomPolicy は C1Calculator コントロールのズーム操作をサポートします C1Calculator コントロールの ShowOutput プロパティの値が True に設定されていて 以下のプロパティが既定値ではないとき C1CalculatorZoomPolicy によりズーム時の計算結果の表示領域のサイズが最適化されます OutputHeight ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1CheckBox コントロール C1CheckBoxZoomPolicy は C1CheckBox コントロールのズーム操作をサポートします C1CheckBox コントロールの StretchSystemCheckMark プロパティの値が True に設定されている場合 C1CheckBoxZoomPolicy によりズーム時のチェックマークのサイズが最適化されます ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) C1CheckedGroupBox C1RadioGroupBox コントロール C1GroupBoxControlBaseZoomPolicy は C1CheckedGroupBox コントロールおよび C1RadioGroupBox コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1GroupBoxControlBaseZoomPolicy により ズーム時のチェックマークのサイズや項目間のスペースが最適化されます ItemSettings.CheckMarkSize 76 Copyright GrapeCity, Inc. All rights reserved.

LayoutSettings.HorizontalSpace LayoutSettings.VerticalSpace ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) C1ComboFrame コントロール C1ComboFrameZoomPolicy は C1ComboFrame コントロールのズーム操作をサポートします C1ComboFrame コントロールの DropDownSettings.AutoSize プロパティの値が False に設定されているとき C1ComboFrameZoomPolicy によりズーム時のドロップダウン部分のサイズが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1Container コントロール C1ContainerZoomPolicy は C1Container コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1ContainerZoomPolicy によりズーム時のキャプションの文字サイズが最適化されます CaptionFormat.Size CaptionFormat.Spacing CaptionFormat.Font ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1DropDownButton コントロール C1DropDownButtonBaseZoomPolicy は C1DropDownButton コントロールのズーム操作をサポートします C1DropDownButtonBaseZoomPolicy によりズーム時のドロップダウン部分の文字サイズが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 77 Copyright GrapeCity, Inc. All rights reserved.

C1FontPicker コントロール C1FontPickerZoomPolicy は C1FontPicker コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1FontPickerZoomPolicy によりズーム時のドロップダウン部分の大きさや文字サイズが最適化されます DropDownSettings.Size ItemStyle.FontSize ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1HeadingContainer コントロール C1HeadingContainerZoomPolicy は C1HeadingContainer コントロールのズーム操作をサポートします ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1RadioButton コントロール C1RadioButtonZoomPolicy は C1RadioButton コントロールのズーム操作をサポートします C1RadioButton コントロールの StretchSystemCheckMark プロパティの値が True に設定されているとき C1RadioButtonZoomPolicy によりズーム時のチェックマークのサイズが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1ResizePanel コントロール C1ResizePanelZoomPolicy は C1ResizePanel コントロールのズーム操作をサポートします C1ResizePanel コントロールの ResizeMode プロパティの値が None に設定されているとき C1ResizePanelZoomPolicy によりズーム時のパネル上のコントロールサイズが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1SplitButton コントロール C1SplitButtonZoomPolicy は C1SplitButton コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1SplitButtonZoomPolicy によ 78 Copyright GrapeCity, Inc. All rights reserved.

りズーム時のドロップダウン部分のサイズが最適化されます DropDownButtonWidth ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) C1TabControl コントロール C1TabControlZoomPolicy C1TabBaseZoomPolicy および C1TabPageZoomPolicy は C1TabControl コントロールのズーム操作をサポートします 以下のプロパティが既定値ではないとき C1TabControlZoomPolicy C1TabBaseZoomPolicy および C1TabPageZoomPolicy により ズーム時のタブやコンテナ上のコントロールの文字サイズが最適化されます CloseButtonSize TabsHeight TabSpace TabIndentation HotTrackStyle.ItemSize または HotTrackStyle.Font TabStyle.ItemSize または TabStyle.Font TabStyle.ItemSize または TabStyle.Font SelectedStyle.ItemSize または SelectedStyle.Font NavigatorStyle.ItemSize または NavigatorStyle.Font ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) C1TableLayoutContainer コントロール C1TableLayoutContainerZoomPolicy は C1TableLayoutContainer コントロールのズーム操作をサポートします C1TableLayoutContainer コントロールの TableColumn.SizeType および TableRow.SizeType プロパティの値が Absolute に設定されているとき C1TableLayoutContainerZoomPolicy によりズーム時の表示位置が最適化されます ズーム率 100% ズーム率 140%( ズームポリシーなし ) ズーム率 140%( ズームポリシーあり ) C1Calendar コントロール C1Calendarコントロールのズーム操作を最適化するズームポリシーを適用するには C1CalendarZoomPolicyテンプレートを追加する必要があります 基本的な使い方 - ズームポリシーテンプレート での手順により C1CalendarZoomPolicyテンプレートを追加してください C1CalendarZoomPolicy により ズーム時のヘッダの高さやナビゲーションのボタンサイズ 曜日や週番号の文字サイズ 日付メモの画像サイズなどが最適化されます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) 79 Copyright GrapeCity, Inc. All rights reserved.

SPREAD for Windows Forms TouchToolKit は SPREAD for Windows Forms( 以下 SPREAD) に搭載されているコントロールのズームを最適化するテンプレート SPREADZoomPolicy を提供しています テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください SPREAD のズームポリシー Spread に複数のシートが含まれている場合 現在表示されているシートだけがズームでき その他のシートは変更されません SpreadZoomPolicy を使用すると 現在どのシートが表示されているかにかかわらず すべてのシートをズームできます ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) シート 1 シート 2 80 Copyright GrapeCity, Inc. All rights reserved.

Power Packs TouchToolKit は Power Packs に搭載されているコントロールのズームを最適化するテンプレート ShapeContainerZoomPolicy を提供しています テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください Power Packs のズームポリシー ShapeContainerZoomPolicy は Power Packs に含まれる LineShape OvalShape RectangleShape のズーム操作をサポートします ズーム率 100% ズーム率 120%( ズームポリシーなし ) ズーム率 120%( ズームポリシーあり ) WPF 相互運用機能 TouchToolKit は WPF 相互運用機能のズームを最適化するテンプレート WPF_ElementHostZoomPolicy を提供しています テンプレートの適用方法については 基本的な使い方 - ズームポリシーテンプレート を参照してください ElementHost コントロール WPF_ElementHostZoomPolicy は WPF の相互運用機能である ElementHost コントロールのズーム操作をサポートします ズーム率 100% ズーム率 130%( ズームポリシーなし ) ズーム率 130%( ズームポリシーあり ) ユーザー定義のズームポリシー 任意のコントロールに対して ユーザー定義のズームポリシーを作成して適用できます ここでは Button コントロールについて ズーム時にボタンのサイズを維持し 本来ズームされるボタンの大きさの中央にボタンを配置する方法について説明します ズームポリシーを作成する 81 Copyright GrapeCity, Inc. All rights reserved.