作成日: 2025/03/21 最終更新日: 2025/03/21
文書種別
使用方法
詳細
TouchToolKit for WinFormsのズームポリシーについて以下に説明します。
※以下の記載内容は2024Jv2時点の情報に基づいています。
TouchToolKit for WinFormsに含まれるC1Zoomコンポーネントは、任意のフォームに配置するだけで、フォームがピンチ操作によるズームに対応できるようになります。
基本的にC1Zoomでは、フォーム上のコントロールをC1Zoomコンポーネントが持つパネルに移動し、そのパネルとコントロールの大きさを変えることでズーム*を実現します。
(*) コントロールサイズおよびコントロールテキストの拡大/縮小
ただし、コントロール内に動的に配置された子コントロールやコントロール内に直接描画されたグラフィックなどのズームは行われないため、これらをズームするには個別にズームポリシーを適用する必要があります。
コントロールの種類によってその適用方法が異なるため、それぞれについて説明します。
(1)C1コントロールのズームポリシー
ComponentOneのいくつかのコントロールに対しては、製品インストール時に以下の場所にズームポリシー用テンプレート(例:C1FlexGridZoomPolicy.cs)がインストールされます。
C:\Program Files (x86)\ComponentOne\WinForms\C1TouchToolKit\PolicySourceCodes
なお、これらのコントロール使用時に、想定するものと異なるズームの動作があれば、上記テンプレートをプロジェクトに追加して任意にズームポリシーをカスタマイズすることが可能です。このフォルダにテンプレートが存在しないコントロール(例:Input for WinFormsの各コントロール)に対しては、ズームポリシーは用意されておりません。
(2)一部のMS標準コントロールのズームポリシー
MS標準の一部コントロール(例:ComboBox)には組み込みのズームポリシー(例:ComboBoxZoomPolicy)が用意されています。組み込みのズームポリシーは、以下の場所で確認可能です。
C1Zoomコントロールのスマートタグをクリック
⇒ 「ズームポリシーの編集」をクリック
⇒「ZoomPolicyコレクションエディタ」に一覧が表示
これらのズームポリシーはデフォルトでEnabledプロパティがTrueになっているため、コントロール使用時に明示的に指定しなくても、ズームポリシーが有効になります。
(メモ)
・これらのテンプレートは、コントロール内部に固定で定義されています。
・無効にしたい場合、EnabledプロパティをFalseに設定してください。
(3)上記以外のユーザー定義のズームポリシー
上記以外のコントロール(例:ActiveReportsなど)のズームポリシー用テンプレートは用意されておりません。以下の手順に従って、プロジェクトにズームポリシーを追加してください。
詳細は、製品ヘルプの「ユーザー定義のズームポリシー」を参照してください。
■ズームポリシー追加手順の概要
1) プロジェクトで、ZoomPolicyクラスを継承した、目的のコントロール用ズームポリシークラスを追加します。
(メモ)
・クラス名は任意に指定可能(例:KeepButtonSizeZoomPolicyクラス)です。
・設定内容は(1)のC1コントロールのテンプレートファイルを参考にしてください。
2) Formに、目的のコントロールを追加します。
3) Formに、C1Zoomコンポーネントを追加します。
4) 以下のコードをForm.Loadイベントに追加します。
◎サンプルコード(VB)
※なお、現時点で TouchToolKitの製品ヘルプの「ズームポリシー」の記載に一部誤りがあり、今後のバージョンアップで修正予定です。お詫びして訂正いたします。
※以下の記載内容は2024Jv2時点の情報に基づいています。
TouchToolKit for WinFormsに含まれるC1Zoomコンポーネントは、任意のフォームに配置するだけで、フォームがピンチ操作によるズームに対応できるようになります。
基本的にC1Zoomでは、フォーム上のコントロールをC1Zoomコンポーネントが持つパネルに移動し、そのパネルとコントロールの大きさを変えることでズーム*を実現します。
(*) コントロールサイズおよびコントロールテキストの拡大/縮小
ただし、コントロール内に動的に配置された子コントロールやコントロール内に直接描画されたグラフィックなどのズームは行われないため、これらをズームするには個別にズームポリシーを適用する必要があります。
コントロールの種類によってその適用方法が異なるため、それぞれについて説明します。
(1)C1コントロールのズームポリシー
ComponentOneのいくつかのコントロールに対しては、製品インストール時に以下の場所にズームポリシー用テンプレート(例:C1FlexGridZoomPolicy.cs)がインストールされます。
C:\Program Files (x86)\ComponentOne\WinForms\C1TouchToolKit\PolicySourceCodes
なお、これらのコントロール使用時に、想定するものと異なるズームの動作があれば、上記テンプレートをプロジェクトに追加して任意にズームポリシーをカスタマイズすることが可能です。このフォルダにテンプレートが存在しないコントロール(例:Input for WinFormsの各コントロール)に対しては、ズームポリシーは用意されておりません。
(2)一部のMS標準コントロールのズームポリシー
MS標準の一部コントロール(例:ComboBox)には組み込みのズームポリシー(例:ComboBoxZoomPolicy)が用意されています。組み込みのズームポリシーは、以下の場所で確認可能です。
C1Zoomコントロールのスマートタグをクリック
⇒ 「ズームポリシーの編集」をクリック
⇒「ZoomPolicyコレクションエディタ」に一覧が表示
これらのズームポリシーはデフォルトでEnabledプロパティがTrueになっているため、コントロール使用時に明示的に指定しなくても、ズームポリシーが有効になります。
(メモ)
・これらのテンプレートは、コントロール内部に固定で定義されています。
・無効にしたい場合、EnabledプロパティをFalseに設定してください。
(3)上記以外のユーザー定義のズームポリシー
上記以外のコントロール(例:ActiveReportsなど)のズームポリシー用テンプレートは用意されておりません。以下の手順に従って、プロジェクトにズームポリシーを追加してください。
詳細は、製品ヘルプの「ユーザー定義のズームポリシー」を参照してください。
■ズームポリシー追加手順の概要
1) プロジェクトで、ZoomPolicyクラスを継承した、目的のコントロール用ズームポリシークラスを追加します。
(メモ)
・クラス名は任意に指定可能(例:KeepButtonSizeZoomPolicyクラス)です。
・設定内容は(1)のC1コントロールのテンプレートファイルを参考にしてください。
2) Formに、目的のコントロールを追加します。
3) Formに、C1Zoomコンポーネントを追加します。
4) 以下のコードをForm.Loadイベントに追加します。
◎サンプルコード(VB)
Imports C1.Win.C1TouchToolKit
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim myPolicy As New KeepButtonSizeZoomPolicy()
C1Zoom1.ZoomPolicies.Add(myPolicy)
End Sub
◎サンプルコード(C#)
using C1.Win.C1TouchToolKit;
private void Form1_Load(object sender, EventArgs e)
{
KeepButtonSizeZoomPolicy myPolicy = new KeepButtonSizeZoomPolicy();
C1Zoom1.ZoomPolicies.Add(myPolicy);
}
※なお、現時点で TouchToolKitの製品ヘルプの「ズームポリシー」の記載に一部誤りがあり、今後のバージョンアップで修正予定です。お詫びして訂正いたします。