Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi frage zum treeview (https://www.delphipraxis.net/66128-frage-zum-treeview.html)

gelvuun 25. Mär 2006 09:53


frage zum treeview
 
hallo

wie manche vielleicht schon wissen hab ich das kleine programm MathOrc geschrieben.

als verbesserungsvorschlag wurde mir eine bessere übersicht durch treeview nahegelegt und ich befasse mich gerade mit dessen umsetzung.

daher meine frage:
ich habe items und subitems eingefügt,
wie kannich den subitems (und auch items) jetzt die geschreibenen formulare zuordnen?

konda 25. Mär 2006 14:29

Re: frage zum treeview
 
Vielleicht hilft dir dieses Tutorial weiter: Treeview-Tutorial :spin2:

gelvuun 26. Mär 2006 15:05

Re: frage zum treeview
 
also danke erstmal aber irgendwie komm ich da nicht weiter

also hier nochmal eine genauere problembeschreibung:

ich möchte dass alle meine unterpunkte über einen treeview aufgerufen werden können
dazu habe ich eine neues form gemacht und da ist ein treeview drin (Win32 -> TreeView)
dem hab ich dann alle unterpunkte (im TreeView Item Editor) hinzugefügt

jetzt möchte ich, das wenn man einen dieser unterpunkte anklickt, automatisch das richtige form geöffnet wird.

um das genauer in worte zu fassen:

ich möchte, dass bei klick auf den unterpunkt kreis (im überpunkt flächenberechnungen) das Form3.visible auf true gesetzt wird, und wenn dann ein anderer unterpunkt ausgewählt wird, wieder auf false.

wie geht das? (wenn möglich nicht schön, dafür einfacher code)

marabu 26. Mär 2006 15:40

Re: frage zum treeview
 
Hi.

Vom Prinzip her kannst du es so machen:

Delphi-Quellcode:
type
  TMainForm = class(TForm)
    TreeView: TTreeView;
    procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
  private
    FVisibleForm: TForm;
    procedure SetVisibleForm(f: TForm);
  public
    property VisibleForm: TForm read FVisibleForm write SetVisibleForm;
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.SetVisibleForm(f: TForm);
begin
  if Assigned(FVisibleForm) then
    FVisibleForm.Visible := false;
  FVisibleForm := f;
  if Assigned(FVisibleForm) then
    FVisibleForm.Visible := true;
end;

procedure TMainForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin
  if Assigned(Node)
    then VisibleForm := TForm(Node.Data)
    else VisibleForm := nil;
end;
Du musst dazu einen Zeiger auf die jeweilige Form in der Data-Eigenschaft des Baumknoten deponieren.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 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