Vcl.ComCtrls.TTreeNode.CustomSort

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function CustomSort(SortProc: TTVCompare; Data: NativeInt; ARecurse: Boolean = False): Boolean;

C++

bool __fastcall CustomSort(PFNTVCOMPARE SortProc, NativeInt Data, bool ARecurse = false);

プロパティ

種類 可視性 ソース ユニット
function public
Vcl.ComCtrls.pas
Vcl.ComCtrls.hpp
Vcl.ComCtrls TTreeNode

説明

ノードのソートをトリガします。

CustomSort は、ノードのソートまたはノードの子ノードの再ソートをトリガします。その時に、SortProc パラメータで指定された比較ルーチンを使用します。

Data パラメータでは、カスタマイズされた比較ルーチンに情報を渡す手段を設定します。Data は、CustomSort メソッドやデフォルトの比較ルーチンでは使用されません。

オプションの ARecurse パラメータ(デフォルトは false)は、ノード ツリーを再帰的にたどって、各サブツリーを順番にソートするように指定します。

CustomSort の戻り値は、ソートの成功ステータスを表します。

SortProc が nil(Delphi)または NULL(C++)の場合は、デフォルトの比較ルーチンが使われます。デフォルトのルーチンは、関連する TCustomTreeview オブジェクトに対して OnCompare イベント ハンドラを使用します(定義されている場合)。OnCompare イベント ハンドラが定義されていない場合、ノードのキャプションを大文字と小文字を区別してデフォルトのルーチンを単純に比較します。

この比較ルーチンは、次のように定義されています。

Pascal TTVCompare = function(lParam1, lParam2, lParamSort: Longint): Integer;

C++ typedef int (CALLBACK *TTVCompare)(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);


lParam1 パラメータと lParam2 パラメータは、TTreeNode にキャストされた 2 つのノードを参照します。

lParamSort パラメータは、CustomSort の Data パラメータとして事前に渡された値です。

この比較ルーチンの戻り値は、IParam1 と IParam2 の相対的なソート順を表します。



戻り値 意味

< 0

IParam1 が IParam2 より前の場合

0

IParam1 と IParam2 が等しい場合

> 0

IParam2 が IParam1 より前の場合



トップレベルのノードをソートするには、TTreeNodesCustomSort を使用します。

メモ:  CustomSort は、SortType の値が stNone である場合に動作しません。

関連項目