Hi ihr,
ich möchte Einträge in einem TreeView verschieben können. Dazu habe ich ein Popup-Menü mit folgenden Proceduren...
Delphi-Quellcode:
procedure TForm1.Hoch1Click(Sender: TObject);
begin
if TreeView1.Selected<>nil then
begin
if TreeView1.Selected.Index > 0 then
TreeView1.Selected.MoveTo(TreeView1.Selected.GetPrevSibling, naInsert)
end
else MessageDlg('Sie müssen zuerst einen Eintrag makieren.', mtInformation, [mbOk], 0);
end;
procedure TForm1.Runter1Click(Sender: TObject);
begin
if TreeView1.Selected<>nil then
begin
if TreeView1.Selected.Index < TreeView1.Selected.Parent.Count-1 then
TreeView1.Selected.GetNextSibling.MoveTo(TreeView1.Selected, naInsert)
end
else MessageDlg('Sie müssen zuerst einen Eintrag makieren.', mtInformation, [mbOk], 0);
end;
Die erste Procedure funktioniert wie gewünscht. Die zweite funktioniert nur in unter Unterzweigen, also nicht in höchster Ebene. Mir ist jedoch unklar, warum es zu einem Zugriffsfehler kommt. Hat jemand eine Idee und ggf. einen Lösungsvorschlag?
Gruß
Ben
P.S.: Delphi 5 Standard