AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In einem TreeView einen Knoten erstellen

Ein Thema von Delbor · begonnen am 2. Nov 2019 · letzter Beitrag vom 8. Nov 2019
 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: In einem TreeView einen Knoten erstellen

  Alt 3. Nov 2019, 17:40
Hi Redeemer

Mein Problem ist nach wie vor ungelöst. Ich habe die prozedur TVFilesExplorerContextPopup bis auf den Prozedurkopf auskommentiert. Damit sollte sie unassigned sein - auszuführen gibts da eh nichts mehr.

Dafür habe ich die Prozedure Mousedown angepasst:
Delphi-Quellcode:
procedure TOpenFileFrame.TVFilesExplorerMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  var AnItem: TTreeNode; P: TPoint;
begin
  if Button =(mbRight) then
  begin
    AnItem := TVFilesExplorer.GetNodeAt(X, Y);
    if AnItem <> nil then
    begin
      FPopUpNode := AnItem;
      FPopUpPath := PNameRec(AnItem.Data)^.RealName;
      FPopUpPoint := Point(x,y);
    end;
    P := ClientToScreen(Point(x,y));

    ShowMessage('procedure TOpenFileFrame.TVFilesExplorerMouseDown' +sLineBreak+
                'FPopUpPath := ' + FPopUpPath +sLineBreak+
                'FPopUpNode :=' + FPopUpNode.Text);
    PopupMenu1.PopupComponent := TVFilesExplorer;
    PopupMenu1.Popup(P.X, P.Y);
  end;
end;
Anschliessnd wird PopupMenu1Popup aufgerufen, wo ich per Showmessage einige Ausgaben mache.
Interessant wirds dann aber bei den Menuklicks. Hier das wesentliche Schnipsel aus 'OrdnererstellenClick':

Delphi-Quellcode:
  if LIsdirectory then
  begin
// Node := TVFilesExplorer.Items.AddChildFirst(FPopUpNode, 'Neu');
    Node := TVFilesExplorer.Items.Add(FPopUpNode, 'Neu');
// Node := TVFilesExplorer.Items.AddChild(FPopUpNode, 'Neu');
    Node.ImageIndex := 3;
    Node.SelectedIndex := 3;
    Node.EditText;
  end
  else
  begin
    Showmessage('Der Ordner kann nicht erstellt werden.');
  end;
end;
Interessant hier: Beide auskommentirten Zeilen erzeugen den Knoten zwar, zeigen ihn aber aber in der Linken oberen Ecke des Treeviews an.
Die nicht auskommentierte Zeile zeigt den Knoten zwar an, aber nicht mit dem Knoten als Parent, den ichh ausgewählt hatte ( Hier 'P:\'), sondern eigentlich darunter, also auf gleicher Ebene.
Ordnerposition2.jpg
Das Problem ist also nicht die Prozedur TVFilesExplorerContextPopup.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz