LEADTOOLSコントロール(Leadtools.Topics.Controlsアセンブリ)

フレームを表示

ImageViewerは、単一の、垂直と水平のレイアウトの内部サポートで、拡張可能なレイアウトシステムをサポートします。レイアウトを準備する役割を果たす主要なクラスは、抽象的なImageViewerViewLayoutクラスです。

項目がビューワから追加または削除される場合、またはそのサイズプロパティが変更される場合、ビューワは新しいレイアウトの計算操作をトリガします。これは、内部のUpdateTransformから実行されます。この計算により、ビューレイアウトインスタンスの様々なメソッドが呼び出され、ビューワ画面で任意の様式で項目が配置またはサイズ設定され、スクロールに使用するビュー全体のサイズが計算されます。

ImageViewerは、常にImageViewerViewLayout派生クラスのインスタンスをViewLayoutで設定しておきます。このプロパティの値をnullに設定することはできません。

下の議論は、LEADTOOLSドキュメントビューワからスクリーンショットを使います。ドキュメントビューワは、標準的なビューレイアウトで標準的なImageViewerを使います。

組み込みビューレイアウト

LEADTOOLSは、以下をビューレイアウトで造っておきます:

ImageViewerSingleViewLayout

項目は、互いの上で層状です。単一項目のみはいつでも表示されます。これは、ImageViewer.ActiveItem。により制御されます。10個の項目とActiveItemがリストの1番目に設定されている画像ビューワ(インデックス0)は以下のようになります。

ActiveItemがリスト内で第3の項目に設定されているとき(インデックス4)、このビューワは以下のようになります。

それが単一の項目モードで使われているとき、ImageViewerSingleViewLayoutはビューワによりも用いられます。そして、ImageViewerの新しいインスタンスがデフォルトのコンストラクタを用いて作成されるとき、ImageViewerSingleViewLayoutの新しいインスタンスはViewLayoutで作成されて、設定されます。

ここに単一のページモードのLEADTOOLSドキュメントビューがある。

単一ページしか表示されていない点にご注意ください。すべてのページの境界がビューの中にあるため、メインビューのスクロールバーはここでは表示されていません。

ImageViewerVerticalViewLayout

項目は、互いの上で積み重なります。1つの項目がいつでも見えることがありえて、現項目positionとサイズによっても制御されるより、ビューはpositionをスクロールします。ActiveItemは、どの項目が表示されているかについて、影響を及ぼしません。

ここに垂直方向のページモードのLEADTOOLSドキュメントビューがある。

1ページ以上がどのように同時に見えるかについて気がつきます。ビューのスクロールバーは、各ページではなく文書の総サイズを反映します。

垂直方向のビューレイアウトは、いくつが次の行に移動する前に水平に示されるかについて制御するImageViewerVerticalViewLayout.Columnsプロパティを格納します。1つ前のスクリーンショットの中で、ドキュメントビューワは、列数を1に設定して、垂直方向のレイアウトを使っています。それゆえに、単一のページは、各々の行で表示されます。ここで、文書のビューワは垂直のビューレイアウトを使用し、列数は2に設定されます。

ここでは、ビューワは、次に移動する前に、各々の行で最高2つの項目を追加します。スクロールバーサイズは、それを反映します。

列数の値を0に設定すると、次へ移動する前に多くの項目(最低1)を行に設定するようになります。この値は固定されないで、ビューサイズからダイナミックに計算されます。ビューワをリサイズすると再計算が始まります。このモードは、サムネイルモードでWindows Explorerと類似しています。

ImageViewerHorizontalViewLayout

項目は、左から右に互いの隣に積み重なります。1つの項目がいつでも見えることがありえて、現項目positionとサイズによっても制御されるより、ビューはpositionをスクロールします。ActiveItemは、どの項目が表示されているかについて、影響を及ぼしません。

ここに水平ページモードのLEADTOOLSドキュメントビューがある。

1ページ以上がどのように同時に見えるかについて気がつきます。ビューのスクロールバーは、各ページではなく文書の総サイズを反映します。

水平ビューレイアウトは、いくつが次の列に移動する前に垂直に示されるかについて制御するImageViewerHorizontalViewLayout.Rowsプロパティを格納します。1つ前のスクリーンショットの中で、ドキュメントビューワは、を1に設定して、水平レイアウトを使っています。それゆえに、単一のページは、各々の列で表示されます。の値を0に設定すると、次へ移動する前に多くの項目(最低1)を列に設定するようになります。この値は固定されないで、ビューサイズからダイナミックに計算されます。ビューワをリサイズすると再計算が始まります。

ビューレイアウトとSizeMode

ビューワは、ビューをフルページまたは現在のページ幅または高さを示すことに適合させることなどの一般の操作を実行するのに用いられることができるZoomメソッドをサポートします。

各々のビューレイアウトは、正しくこの操作を実行するために、サイズモードの各々のために、現在の値を計算します。たとえば、列数による垂直方向のレイアウトを用いたドキュメントビューワはここにあります、=、呼び出した後の1はControlSizeMode = .FitWidthズームします

ビューワは、このように単一のページの幅を計算のベースとしています。二重の垂直方向のレイアウト(列数= 2)を使っていて、ControlSizeMode = .FitWidth操作で同じズームをズームを指定して呼び出している同じドキュメントビューワは、ここにあります:

ここでとてもここで、ビューワは2ページの幅を計算のために拠点を置く値とみなしています。

項目が違いサイズを持っているならば、当時のビューワは最大行幅と高さに基づくビューサイズを計算します。

項目配置

様々な項目の大きさを使うとき、または、行か列がより小さいを持っているとき、項目、そして項目の最大数は各々のセルの中に位置合わせされなければなりません。これは、ImageViewerItemHorizontalAlignmentItemVerticalAlignmentプロパティを用いてされます。

ここに5つの項目による画像ビューワと列数を2に設定する垂直方向のレイアウトがある。

第3の行がどのように1つの項目だけを格納するかについて気がつきます。そして、項目はビューでleftに位置合わせされます。これは、ItemHorizontalAlignmentの値が近づくために設定されるからです。

ItemHorizontalAlignmentセンターに設定する同じビューワは、ここにあります:

そして、遠い

同様に、ItemVerticalAlignmentは、項目がどのように垂直にセルで位置合わせされるか決定するのに用いられることができます。

操作

ならびに、Zoomメソッドは上で説明しました。以下のメソッドは、複数の項目を使うとき、速く、必要とされる一般の操作を実行するのに用いられることができます:

操作 説明
GotoItem

左上まで項目をスクロールします。

GotoItemByIndex

インデックスを与える項目の左上までスクロールします。

EnsureItemVisible

項目がビューワで見えることを確実にします

EnsureItemVisibleByIndex

指定されたインデックスの項目がビューワで見えることを確実にします

GetFirstVisibleItem

最初の現時点では見える項目を返します

GetFirstVisibleItemIndex

最初の現時点では見える項目のインデックスを返します

Leadtools.Controls.ImageViewer.GetLastVisibleItem

最後の現時点では見える項目を返します

Leadtools.Controls.ImageViewer.GetLastVisibleItemIndex

最後の現時点では見える項目のインデックスを返します

GetLargestVisibleItem

現在の最大の可視領域がある項目を返します

GetLargestVisibleItemIndex

現在の最大の可視領域がある項目のインデックスを返します

Leadtools.Controls.ImageViewer.IsItemVisible

指定された項目か一部がビューワで現時点では見えるかどうかについて示す値を取得します

HitTestItem

任意のポイントの下で項目を返します

HitTestItems

任意の長方形領域で交差する項目を返します

HitTestItemPart

任意のポイントの下で項目一部を返します

参照

参照

ImageViewerを用いて
Windows.Formsによる画像ビューワの利用
画像ビューワ外観
画像ビューワの項目
画像ビューワの境界と変換
画像ビューワの変換
画像ビューワのレンダリング
画像ビューワのスクローリング
画像ビューワの対話モード
画像ビューワのそのほかのオプション
画像ビューワのシングルアイテムモード
画像ビューワのバーチュアライザ
画像ビューワのドラッグ&ドロップ