Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TTreeView - in abgeleiteter Komponente OnCompare nutzen

  Alt 29. Feb 2008, 08:04
Moin Ralph,

du möchtest den Code für das Ereignis OnCompare() in deiner abgeleiteten Komponente fest verdrahten? Dann veröffentliche einfach die Property OnCompare nicht und besetze sie im Konstruktor mit deinem Code:

Delphi-Quellcode:
type
  TMyTreeView = class(TCustomTreeView)
  private
    CompareNodes(Sender:TObject; Node1, Node2: TTreeNode;
        Data: Integer; var Compare: Integer);
  published
    // ...
    property OnCollapsing;
    // property OnCompare;
    property OnContextPopup;
    // ...
  end;

constructor TMyTreeView.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FOnCompare := CompareNodes;
end;

procedure TMyTreeView.CompareNodes(Sender:TObject; Node1, Node2: TTreeNode;
    Data: Integer; var Compare: Integer);
begin
  if CaseSensitiveSort
    then Compare := AnsiCompareStr(Node1.Text, Node2.Text) * SortFlag
    else Compare := AnsiCompareText(Node1.Text, Node2.Text) * SortFlag;
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat