仮想ツリービュー

このコントロールは、この種の他のコントロールよりもツリー管理に異なるパラダイムを使用します
今すぐダウンロード

仮想ツリービュー ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • LGPL
  • 出版社名:
  • Mike Lischke
  • オペレーティングシステム:
  • Windows All
  • ファイルサイズ:
  • 707 KB

仮想ツリービュー タグ


仮想ツリービュー 説明

仮想TreeViewは、接地から構築されたツリービューコントロールになるように設計されています。 5年以上の開発は、今日利用可能な最も柔軟で高度なツリーコントロールの1つを作りました。仮想TreeViewは、既存のソリューションの多くの側面を改善し、以前に利用できなかったいくつかの新しい技術と原則を導入しました。 名前がすでに示すように、このコントロールはこの種の他のコントロールよりもツリー管理に異なるパラダイムを使用します。それは、それが管理するデータについて何も知らない(サイズを除く)、ノードのキャプションさえしていません。すべてがイベント(またはオーバーライドされたメソッドを介した子孫)を介してアプリケーションから取得されます。 仮想ツリービューは慎重に設計され、徹底的にテストされています。このコントロールは、概念と毎日のフィットネス、すでに多くの商品やフリーウェアプロジェクトにありました。 主な特徴: 一般: Documentプロパティとしての仮想ツリービューは非常に速いです。 100万ノードを追加すると700ミリ秒かかります*!これにより、現在、デルファイ/ BCB市場で公開されている最速のツリービューがあります。 仮想TreeViewには、メモリフットプリントが非常に小さいです。ノードごとに約60バイトのみを割り当てることによって(文字列ツリーでは、ベースツリーは56バイトしか使用しません)百万バイトを保持するためによく準備されています。 仮想TreeViewは高速アクセス用に最適化されています。必要な検証とノードの検証状態に応じて、100万ノードを横切るのに数百秒秒程度かかります。 マルチセレクションは、特定の初期レベルのノードのみを選択できるように、制約付き選択を含めてサポートされています。効果的なアルゴリズムの開発に多くの努力が払われてきた。すでに大きな選択セットを変更することを許可するために。 ツリー全体をビットマップに描画するか、プリンタはCentral TbasevirtualTree.PaintTreeメソッドでサポートされています。メッセージwm_printおよびwm_printclientは正しく処理され、それはツリーをビットマップに描画するようなものを含む(例えば、階層化されたウィンドウのために、またはドロップダウンコントロールとしてVtを使用するコントロールのアニメーションドロップダウンを実装する)。 ノード固有のヒントを表示するためのTBASEVIRTUALTREE.ONHINTイベントがあります。 ノード固有のヘルプコンテキストIDを取得するためのTBASEVIRTUALTREE.ONGETHELPCONTEXTイベントがあります。これには、ユーザーがF1 を押したときに呼び出されるように、自動ツリーとウィンドウの親コントロールトラバーサルが含まれます。 ノード固有のポップアップメニューを取得するためのTBASEVIRTUALTREE.ONGETPOPUPMENUイベントがあり、自動ツリートラバーサルが含まれています。 左ボタンに加えて、中央と右のマウスボタンを使用して、左ボタンで可能なすべてのものをサポートできます(ドラッグ、選択など)。これらの代替ボタンを切り替えることもできます。 固定背景画像を木に使用することができ、ある種のオフセットを与えることができる。共有背景をシミュレートする ノードのホットスタイルがサポートされています(ブラウザウィンドウ内のリンクと同じように)。このタスクに特別なカーソルを割り当てることができます。 文字列ツリーサポートノードのキャプションの後に表示されるSocalled静的テキストが表示され、キャプションとは異なる形式でフォーマットできますが、編集できません。 右に空の列がある場合、列がそのキャプションのスペースを取ることを可能にする自動スパン列モードがサポートされています。これにより、長いキャプションのクリッピングが回避されますが、それでも複数の列を使用することができます。 列ごとにノードを選択できます(これは切り替え可能)と編集して、仮想Treeviewをいくつかのグリッドにします。タブレータキーを使用してセル間の焦点を切り替えることができます。グリッド固有のタスクをサポートするための特別なオプション(TOGRidextensions)が存在します。 ノードは個々の高さを持つことができ、ノードの画像や線の垂直方向の位置合わせは個別に調整できます。 Virtual TreeViewは、保留中のドラッグまたはイベントの編集、多重選択、または進行中の拡張のような内部状態を公開します。この情報を使用すると、アプリケーションはそのコードの実行(状態更新など)を最適化できます。 ノードを並べ替えて、アプリケーション定義の比較コールバックを介してサポートされています。また、ツリーを自動ソートに設定できます。 ヒントには複数行のテキストを含めることができ、表示されているノードまたは列の位置合わせと方向性をミラーリングできます。彼らのアニメーションのスライドとアルファブレンディングが利用可能です。 さまざまなオプションや指示を使用したincremental検索もご利用いただけます。 クライアント領域の自動スクロールは、マウスがドラッグして選択して描画しながらマウスが罫線の近くに発生します(マルチセレクション)。 tbasevirtualtree.defaultNodeHeightとTVirtualStringTree.DefaultTextは、同じ開始値に明示的に多くのノードを設定するのを防ぐために使用できます。 Virtual TreeViewの列実装では固定列も許可されているため、良いグリッド交換もできます。 最新技術: スムーズなアニメーション(例えば、ヒントフェージング)仮想TreeViewは、手で最適化されたMMXアセンブラルルーチンを使用します。このコードは、マルチ選択モードで半透明選択矩形を描画するためにも使用されます。これは、Windows 2000とWindows XPのサポートがどのようなものと非常に非常に似ていますが、Windows 95/98 / Meでも機能します。 ドラッグアンドドロップをしながら、ツリーウィンドウのアルファブレンドイメージが表示されます。 Windows 2000では、Windows XP IdropTargethelperおよびIdRagSourceHelperインターフェイスがサポートされています(エクスプローラで使用されているように)いくつかの非常にきちんとした効果が可能になります。古いコンシューマのWindowsのバージョンでは、ドラッグイメージはツリーによってシミュレートされますが、いくつかのマイナーな制限があります。 Virtual TreeViewはWindows XPテーマをサポートしています。ネイティブAPIを使用して正しいイメージをテーマに変更し、テーマの変更を適切に機能します。他のWindowsシステムでは、これらのスタイルは別々のレガシコードでサポートされています。テーマ認識を切り替えることができます。 Unicode: TVirtualStringTreeは、Unicode / Wide Stringsを排他的に使用して実装されています。 ツリーは、すべてのUnicodeプロパティ(例えば、列キャプション、デフォルトノードテキストなど)をDFMと正しく正しく保存して読み込みます。 すべてのUnicode Drawingは、双方向性(すなわち右から左図)、列の位置合わせ(左、中央、右)を完全にサポートし、正しく揃ったヒントを完全にサポートします。もちろん、この機能もWindows 95/98 / Meで入手できます。 ドラッグのドロップとクリップボードのサポート: OLEドラッグアンドドロップ、およびOLEクリップボード転送は、ソースおよびターゲットとしてツリーでサポートされています。あるいは、VCLドラッグのドロップを互換性に使用することもできます。 これらのフォーマットは標準実装によるサポートです。 ネイティブシリアル化フォーマット(CF_VIRTUALTREEおよびCF_VTREEFARENERE)。仮想ツリービュー(アプリケーション間でも)データを交換するためのコンパクトなフォームです。 hglobalとistreamの2つの記憶フォーマットがあります。 平野ANSIテキスト文字列フォーマット 平野Unicodeテキスト文字列フォーマット リッチテキスト(RTF)文字列形式(Unicodeテキスト付き) HTMLテキスト文字列形式(UTF-8)。これはWord 2000などのための推奨されるクリップボード形式で、ツリーコンテンツをほぼアプリケーションコードなしで単語文書に貼り付けることができます。 子孫が独自のクリップボードフォーマットを指定して実装できるようにする登録方式(RegisterVetClipboardFormat)があります。ドロップハンドラを介して、アプリケーションは独自のツリークラスを導出せずにOLEフォーマットを受け入れることができます。ネイティブツリーデータの処理を支援するために、特殊なメソッドが実装されています。関連項目:TBASEVIRTUALTREE.PROCESSOLEDATAおよびTBASEVIRTUALTREE.PROCESSDROP。 ドロップマークはドラッグのドロップ中に表示されますデータは挿入されます。これはVCLドラッグのドロップでも機能します。ドロップターゲットモデルは、ノードの上、またはノード上の上のドロップアクションを許可するように拡張されました。その間、他のTreeViewコントロールのベンダーはこの小さなが強力なアイデアを使い始めました。 有効な場合には、調整可能な時間間隔を超えるドロップターゲットであるノードの自動展開が実行されます。 ヘッダーと列: 複数の列は、独自のヘッダー実装でサポートされています。このヘッダは、ツリーコントロールの非クライアント領域でスペースを取り込み、さまざまなボタンスタイル(標準ListViewの厚いボタン、フラットボタン、プレート、Windows XPスタイルと所有者の描画)をサポートします。 列は、ツリーウィンドウのご注文ごとに表示できます。 各列は、実際の木を保持するメインコラムを含めて非表示にすることができます。 各列はメインコラムになることができます。 列はヘッダーなしでも表示できます。 列にはさまざまなオプション(目に見える、クリック可能、サイズ変更可能、ドラッグ可能)があります。 各列の個々の整列、右から左右方向性を設定できます(再び、中東以外のWindowsコンシューマシステムでも使用可能)。 各列には自分の色を持つことができます。 ヘッダーと列コレクションクラスと実際の列クラスはストリーミングをサポートしています。これはTreeViewストリーミングから独立しています。 サポートを確認してください: ツリー内の各ノードには独自のチェックタイプがあります。これはチェックボックス(トライステート)、ラジオボタン、またはノードボタンのいずれかです。これらのタイプは自由に混合することができるように、例えば10個のノードを持つノードを持つことができ、5つのノードが無線グループである(これら5つのノードのうちの1つだけをチェックすることができます)、もう1つの5つのノードにチェックボックスを持つことができます(またはチェックなし)。まったく入力してください。 チャイルドノードの部分チェックのための適切な処理を持つ 混在チェックボタンタイプの自動状態変更伝搬可能(有効にした場合)。 オンプレックの確認やオンチェックイベントが指定されています。 特別な目的のために小さいフラットボタンを使用することができます。これはノードボタンと呼ばれます。 7種類のチェック画像が可能です。暗くて軽いチェックマーク、暗いとライトマーク、フラットチェック画像、Windows XPスタイルの画像とアプリケーション定義画像のチェック画像をチェックします。概要については、プロパティTbasevirtualTree.CheckImagekindを参照してください。 デザイン時間: Virtual TreeViewのプロパティとメソッドはDelphiカテゴリ(Delphi 5とBCB 5以上)に登録されています。 クリップボードフォーマットのための特別なプロパティエディタが含まれています。これは、利用可能なクリップボードフォーマットを文字列として指定しなければならず、まだ有効になっていなくても(有効にできるものを知るために)利用可能なフォーマットのリストを持つことも非常に重要です。 カスタマイズ: カスタムドローとペイントサイクルは、ペイントイベント(ツリー全体および各ノードの場合)でサポートされています。 内蔵のチェックタイプとは別に、個別の画像リストでサポートされているユーザー定義のチェック画像を使用できます(TBASEVIRTUALTREE.CUSTOMCUSTMAGES)。 ヘッダーの各ボタンを個別に描画できます。 3つの異なる行スタイルがあります:点線、実線とアプリケーション定義の行。 アプリケーションと子孫は、TBasevirtualTree.OnCreateDitorイベントを処理することによって、またはTBASEVirtualTree.DoceAteEditorをオーバーライドすることによって、独自のノードエディタ(必ずしも単一のコントロールではない)を提供できます。これにより、自分の(ビジネス)ルールでノード編集を完全に置き換えることができます。 アプリケーションと子孫は、TBASEVIRTUALTREE.ONCREATEDRAGMANAGERイベントを処理したり、TBASEVIRTURETREE.DOCREATEDRAGMANAGERをオーバーライドしたりして、独自のDrag Managerインターフェースを提供できます。これにより、ツリーのOLEドラッグ処理全体をカスタマイズできます。注:VCLドラッグ 'nドロップはVCLによって管理されているので、これはカスタマイズできません。 アプリケーションと子孫は、TBASEVIRTURETREE.ONCREATEDATAOBJECTイベントを取り扱うか、TBASEVIRTUALTREE.DOCREATEDATAOBJECTを照会することによって、独自のデータ・オブジェクト・インタフェースを提供できます。これにより、独自のクリップボードフォーマットを提供できます。 登録機能(RegisterRclipboardFormat)があります。これにより、ツリーの子孫を独自のクリップボードおよび/または記憶形式の形式で登録できます。アプリケーションは、TBasevirtualTree.getUserClipboardFormatsイベントを処理することによって、独自のクリップボードフォーマット(新しいツリークラスを派生させることなく)を提供できます。 アプリケーションと子孫は、TbasevirtualTree.OnKeyActionイベントを処理するか、TBASEVirtualTree.DokeyActionをオーバーライドすることによってツリーのキー処理を完全に変更することができます。これは増分検索にも機能します。 アプリケーションと子孫は、TBASEVIRTUALTREE.ONPAINTBACKGRANDイベントを処理するか、TBASEVIRTURETREE.DOPANTBACKGRANDをオーバーライドすることによって、ノードでカバーされていないツリーの背景をカスタマイズできます。ノードの場合カスタマイズのためのさらなるイベントがあります。 アプリケーションと子孫は、TCustomVirtualStringTree.OnShortenStringイベントを処理するか、TCustomVirtualStringTree.DoshortenStringをオーバーライドすることで、文字列ツリーが長すぎるキャプションを短縮しようとする方法をカスタマイズできます。 スクロール: フラットスクロールバーがサポートされています。しかし、Windows XPと競合するため、このサポートはコンパイラシンボル(USEFLATSCROLLBARS)によってオフにされます。ツリーユニットをコンパイルする前にフラットスクロールバーを本当に使用したい場合は、この記号を有効にしてください。 すべてのスクロール操作がTBASEVIRTUALTREE.ONSCROLLイベントをトリガーします。これにより、ツリーを他のコントロールと同期させることができます。 周りにメッセージを送信することなく、コードの任意のpostionにツリーコンテンツをスクロールすることを可能にする特性(例えばTBaseVirtualTree.OffsetXY)がある。【/リー] 【リー】車輪がパンニングやスクロールが支持されています。すなわち、マウスホイールをクリックするか、ツリーウィンドウの周りにマウスを移動させながら、それを押して保持すると、スムーズにスクロールした場合には、 ストリーミング: 洗練されたツリーコンテンツシリアル化がストリームから/へのツリーを保存し、復元できるように実装されています。これは長く、それがストリームに書き込むことができるようにように、ユーザデータを含む。【/リー] 【リー】仮想ツリービューではなく、コンテンツ全体を交換ストリームからデータを追加することもできます。 【リー】ストリームの内部フォーマットは、将来の拡張のために、それは非常に柔軟になり、それでも古い実装との互換性を維持するチャンクベースである。 開発者サポート: 特別な注意は、一貫して仮想ツリービューのソースコードをフォーマットするために取られている。【/リー] 全体実装の大部分は、内部の仕組みを説明するコメントである。 メソッドとプロパティは、結果的に(プライベート、保護、公共、公開し)、その範囲内にアルファベット順に並べられます。唯一の例外は常にクラス宣言のパブリックセクションの上部に表示され、常にクラスの実装の最初の方法であるコンストラクタとデストラクタである。 すべてのイベントのイベントハンドラを呼び出す仮想メソッドがあります。これは、子孫がハンドラを割り当てずに、すべてのイベントの通知を取得することができます。これらのメソッドの名前パターンを使用して、イベントに直接対応する:。DoEventNameを 多くの措置は、Borland C ++ Builderの互換性を確保するためにとられています。デルファイからBCB中のC ++コードに自動変換がバギーであるので、これは特に困難である。【/リー] ノードごとに独自のデータを割り当てるための子孫の作家のための簡単かつ強力なメカニズムがあります。単にあなたのニーズを登録するTBaseVirtualTree.AllocateInternalDataを呼び出します。それが結果的にユーザーデータへのアクセスのためのTBaseVirtualTree.GetNodeDataを使用する場合、これは、既存または将来のアプリケーションコードに影響を与えません。 編集: アプリケーション定義されたエディタは、編集リンクインターフェースを介して支持されています。ジェネリック(非Unicode)エディタの実装は、あまりにも使用可能です。 (TCustomVirtualTreeOptions.SelectionOptions.toExtendedFocusを参照)が有効になっている場合ツリー内のすべての列が編集可能です。 ユーティリティ: あなたの便宜のために、一般的な関心が持たれている内部的に使用する機能の一部が露出している。 Alphablend:いくつかの異なるモードを使用して、ターゲットビットマップ上にソースをブレンドする汎用手順。 DrawTextW:UnicodeをサポートしているのDrawText APIの部分的な実装。この方法は、Windows 95/98 / Meの上のスタブを持っています。 ShortenString:所与WideStringには、与えられた空間にフィットさせる汎用関数。これは、部分的にWindowsのAPIのDrawTextによって実装されるが、さらに右から左への位置合わせのために気のテイクおよびWindows 95/98 / ME。にもユニコードで動作します


仮想ツリービュー 関連ソフトウェア

Borland Delphic ++ BuilderのTCAD

TCADは、ベクトルグラフィックアプリケーションを作成するのに役立つコンポーネントです。 形状はマウスやコードで相互作用することができます。 使いやすく、効果的かつ強力です。 それはあなたに貴重な時間を節約します。 ...

268 2054K

ダウンロード