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 pagecontrol tabsheet bei klick auf treeview öffnen (https://www.delphipraxis.net/61662-pagecontrol-tabsheet-bei-klick-auf-treeview-oeffnen.html)

mr-unbekannt 24. Jan 2006 17:37


pagecontrol tabsheet bei klick auf treeview öffnen
 
hello

ich habe eine treeview, und wenn ich auf einen bestimmten eintrag klicke soll sich ein
tabsheet(visible=false) sichtbar(visible:=true) öffnen

ich habe diesen vorschlag zu bieten, der leider nichts taugt...

Delphi-Quellcode:
procedure TForm1.TreeView1Click(Sender: TObject);
begin
PageControl1.ActivePage := TreeView1.Selected.Text;
end;
danke

marabu 24. Jan 2006 18:10

Re: pagecontrol tabsheet bei klick auf treeview öffnen
 
Hi.

Die einfachste Lösung ist oft, wenn du bei der Erstellung des TreeNode der Data-Eigenschaft den Zeiger auf das TabSheet zuweist:

Delphi-Quellcode:
TreeNode.Data := Pointer(TabSheet);
Du kannst dann später sehr einfach im Ereignis OnChange() der TreeView wieder darauf zugreifen:

Delphi-Quellcode:
procedure TDemoForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
  if Assigned(Node) then
    PageControl.ActivePage := TTabSheet(Node.Data);
end;
Grüße vom marabu

mr-unbekannt 24. Jan 2006 18:12

Re: pagecontrol tabsheet bei klick auf treeview öffnen
 
danke, habs so gelöst:

Delphi-Quellcode:

procedure TForm1.TreeView1Click(Sender: TObject);
begin
if TreeView1.Selected.Text = 'Einstellungen' then begin
TabSheet1.Visible := true; Tabsheet1.Show; end else
if TreeView1.Selected.Text = 'Hide' then begin
TabSheet2.Visible := true ; Tabsheet2.Show; end else
 if TreeView1.Selected.Text = 'Email' then begin
TabSheet3.Visible := true ; Tabsheet3.Show; end else
 if TreeView1.Selected.Text = 'FTP' then begin
TabSheet4.Visible := true ; Tabsheet4.Show; end else
  if TreeView1.Selected.Text = 'Info' then begin
TabSheet5.Visible := true ; Tabsheet5.Show; end else

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz