Results 1 to 6 of 6

Thread: TreeView vraagje

  1. #1

    TreeView vraagje

    Hallo allemaal,

    Ik gebruik een TreeView met de volgende indeling:

    Code:
    Hoofdstuk A
         Tekst_1
         Tekst_2
    Hoofdstuk B
         Tekst_3
         Tekst_4
         Tekst_5
    Hoofdstuk C
         ...
    Wat ik nu wil is dat als ik Tekst_4 selecteer ik wil zien:
    Hoofdstuk B en Tekst_4

    De vraag is dus hoe los je dit op? Graag een voorbeeld.

    Alvast bedankt, Frans

  2. #2
    Code:
    procedure TForm1.TreeView1Click(Sender: TObject);
    var
     Node : TTreeNode;
    begin
     Node := TreeView1.Selected;
    
     if Node.Parent <> nil then
      ShowMessage(Node.Parent.Text + '-'  + Node.Text);
    end;
    Bedoel je zoiets?

  3. #3
    Hallo,

    Dit is een deel van de oplossing. Het is ook de bedoeling dat als ik op Hoofdstuk B click deze tekst ook wordt weergegeven.
    De oplossing die jij aandraagt werk op zich wel.

    H.G. Frans

  4. #4
    Code:
    procedure TForm1.TreeView1Click(Sender: TObject);
    var
      Node: TTreeNode;
    begin
      Node := TreeView1.Selected;
    
      if Node.Parent <> nil then
        ShowMessage(Node.Parent.Text + '-' + Node.Text)
      else
        ShowMessage(Node.Text);
    end;
    Probleem is volgens mij alleen dat als je via de muis de tree expand, je dit event ook krijgt omdat je ook klikt. Ik weet niet of dit een probleem is voor jouw situatie.

  5. #5
    Hallo,

    Dit is het uiteindelijk geworden:

    Code:
    PROCEDURE TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
    BEGIN
      Node := TreeView1.Selected;
      IF Node = nil THEN Exit;
      IF Node.Parent <> nil THEN
      BEGIN
        Label1.Caption := 'Hoofdstuk : ' + Node.Parent.Text;
        Label2.Caption := 'Titel : ' + Node.Text;
      END
      ELSE BEGIN
        Label1.Caption := 'Hoofdstuk : ' + Node.Text;
        Label2.Caption := '';
      END;
    END;
    
    procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
    begin
      TreeView1.Free;
    end;
    
    PROCEDURE TForm1.TreeView1Collapsed(Sender: TObject; Node: TTreeNode);
    BEGIN
      Label2.Caption := '';
      Label1.Caption := 'Hoofdstuk : ' + Node.Text;
    END;
    Bedankt, ik nu verder het het project waar ik dit nodig heb.

    H.G. Frans

  6. #6
    Wist je trouwens dat je ook een object kunt koppelen aan een tree node. Dit kan soms er makkelijk zijn.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •