Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

TTreeView - in abgeleiteter Komponente OnCompare nutzen

  Alt 28. Feb 2008, 21:38
Moin, Moin,

seit einigen Stunden bastle ich an einer Komponente, die von TTreeView abgeleitet ist. Hiermit wird das TreeView um ein StandardPopup erweitert, das zusätzliche Layout- und Sortierfunktionalitäten zur Verfügung stellt. Dank der Unterstützung von shmia ist nun auch das Verbinden von Komponenten-Popup und Anwendungs-Popup gelungen.

In der Testphase habe ich alle Funktionalitäten nicht in einer abgeleitete Komponente, sondern in einer normalen Unit programmiert und erst nachdem dort alles fehlerfrei ablief, alles in eine Komponente "gepackt". Dummerweise komme ich aber am letzten Punkt überhaupt nicht weiter:

Um eine auf- und absteigende Sortierung, wahlweise mit/ohne Berücksichtigung der Groß-/Kleinschreibung zu ermöglichen habe ich in der Testphase im OnCompare-Event folgenden Code hinterlegt (SortFlag=1 or -1 >> auf- oder absteigend sortieren):

Delphi-Quellcode:
procedure Tfo~~.TreeView1Compare(Sender:TObject;Node1,Node2:TTreeNode;
                                 Data:Integer;var Compare:Integer);
begin
  if CaseSensitiveSort then Compare:=CompareStr (Node1.Text,Node2.Text)*SortFlag
                       else Compare:=CompareText(Node1.Text,Node2.Text)*SortFlag;
end;
Und an diesem Punkt, diese zwei Zeilen in der abgeleiteten Komponente zu placieren, scheitere ich, kurz vor dem Ziel, kläglich! In TTreeView ist OnCompare als Property deklariert. In TCustomTreeView als Property vom Typ TTVCompareEvent. Ich habe schon die unmöglichsten Versuche gemacht, die obenstehenden zwei Zeilen in die abgeleiteten Komponente einzubauen - es ist mir nicht gelungen. Das ist doch bestimmt keine Hexerei, das hinzubekommen?!

Tja, nun benötige ich wieder 'mal Hilfestellung aus dem Forum - please help!
Ralph
  Mit Zitat antworten Zitat