Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#6

Re: Treevieweintrag nicht löschen

  Alt 20. Apr 2005, 09:10
Hallo,

Zitat von Masterof:
... z.B klicke ich in ein Memo und anschließend wieder auf den löschen Button, es ist zwar nichts markiert, aber er löscht trotzdem einen Eintrag ...
Damit man sehen kann welcher Knoten markiert ist, auch wenn TreeView nicht den Focus hat, muss die Eigenschaft HideSelection der TreeView im OI auf False gesetzt werden.

Zitat von Masterof:
ja du hast recht, es wir der nächste übergeordnete Knoten gelöscht. Ich habe schon versucht zu prüfen ob ein Eintrag ausgewählt ist mit der Eigenschaft Selected, aber das wird in der If Abfrage nicht akzeptiert.
Ja das mit der Abfrage könnte ich machen, aber es das ist nicht die beste Lösung.
MfG Master
Die Eigenschaft Selected kannst Du so abfragen:
Delphi-Quellcode:
if TreeView1.Selected <> nil then
  showmessage('Ein Eintrag ist im TreeView selectiert');
Wenn ich es richtig verstanden habe, dann soll erst dann ein Knoten gelöscht werden können, wenn der Anwender selectiert hat.
So geht es:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if TreeView1.Selected <> nil then
    begin
    TreeView1.Items.Delete(TreeView1.Selected);
    Button1.Enabled := False;
    end;
end;

procedure TForm1.TreeView1Enter(Sender: TObject);
begin
  if TreeView1.Items.Count > 0 then//Zugriffsfehler vermeiden
    Button1.Enabled := True;
end;

procedure TForm1.TreeView1Exit(Sender: TObject);
begin
  Button1.Enabled := False;
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat