Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TreeView aber wie? (https://www.delphipraxis.net/40714-treeview-aber-wie.html)

littlemike1005 19. Feb 2005 21:20


TreeView aber wie?
 
Hallo Leute!

Ich möchte ein Programm schreiben das in der Anwendung genau wie der TreeView - Eintragseditor (den wenn man im Objektinspektor doppelt auf Items klickt) funktioniert.
Aber ich bekomme es einfach nicht geregelt.

Irgendwie bekomme ich damit nichts hin.

Wer kann mir helfen?
Danke euch schon mal im vorraus.

sniper_w 19. Feb 2005 22:49

Re: TreeView aber wie?
 
Meinst du so etwas:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    ListBox1: TListBox;
    Label1: TLabel;
    Edit1: TEdit;
    procedure TreeView1DblClick(Sender: TObject);
    procedure TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  temp : TTreeNode;

implementation

{$R *.dfm}

procedure TForm1.TreeView1DblClick(Sender: TObject);
 var p:tpoint;
begin
  GetCursorPos(p);
  if (PtInRect(TreeView1.ClientRect,p))then
  begin
  p := TreeView1.ScreenToClient(p);// ScreenToClient()
  if TreeView1.GetNodeAt(p.x,p.y)<>nil then
   begin
    Edit1.Parent := TreeView1;
    Edit1.Left := p.X;
    Edit1.Top := p.Y;
    Edit1.Visible := True;
    FocusControl(Edit1);
    ListBox1.Items.Add( TreeView1.GetNodeAt(p.x,p.y).Text);
    temp := TreeView1.GetNodeAt(p.x,p.y);
   end;
  end;
end;

procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if TreeView1.GetNodeAt(x,y)<>nil then
 begin
   Label1.Caption := TreeView1.GetNodeAt(x,y).Text;
   TreeView1.Selected := TreeView1.GetNodeAt(x,y);
 end;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (Key = 13) or (key = 10) then
  begin
   Edit1.Visible := false;
   temp.Text := Edit1.Text;
   Edit1.Text := '';
  end;
end;
Bevor du es benutzen kannst, RightClick auf TreeView1, dann Items Editor...und dann tippe einfach ein paar Items ein.

littlemike1005 19. Feb 2005 23:05

Re: TreeView aber wie?
 
Danke erstmal..... Muss jetzt los schaue es mir morgen an.
Melde mich dann wieder.

ABER EIN DICKES DANKE für Deine Mühe


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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 by Thomas Breitkreuz