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!