Q&A

  • 부모와 자식 Node 지정하기
TreeView의 부모와 자식 노드에 각기 다른 텍스트화일을 지정하고 싶은데 잘 안되는군요.



부탁합니다. 도사님들...

2  COMMENTS
  • Profile
    김영대 1999.09.14 02:12
    한 재 wrote:

    > TreeView의 부모와 자식 노드에 각기 다른 텍스트화일을 지정하고 싶은데 잘 안되는군요.

    >

    > 부탁합니다. 도사님들...



    좀전에 제게 메일 보내셨죠?

    죄송하지만 메일로는 답변을 드릴수가 없습니다

    이곳에 글을 올리셨다고 하셔서 답변드립니다



    TreeView1.Selected.Level 을 사용하세요

    Index를 사용하게 되면 말씀하신것처럼 Group이 새로이 생기면

    그 하위 node 들의 index은 다시 0부터 시작하게 됩니다

    제 생각에는 Level과 Index 를 조합해서 유일한 식별자를 사용하거나

    AbsoluteIndex 를 사용하시면 좋을듯 합니다





  • Profile
    chaser 1999.09.13 19:59
    한 재 wrote:

    > TreeView의 부모와 자식 노드에 각기 다른 텍스트화일을 지정하고 싶은데 잘 안되는군요.

    >

    > 부탁합니다. 도사님들...



    ================================================

    TreeView에서 파일의 자료를 Tree에 삽입하기 위해

    LoadFromFile 이란 메소드를 제공하지만 부모 노드와 자식 노드에

    다른 파일을 지정하려면 LoadFromFile 메소드로는 해결이 안됩니다.

    그래서 제가 아래와 같은 Procedure를 하나 만들었습니다.



    아래에서 2개의 agrgument가 있는데

    하나는 파일을 지정하고 다른 하나는 삽입하고자 하는 노드를 지정합니다.





    procedure TForm1.AddNodeFromFile(const FileName: String;

    Node: TTreeNode);

    var

    NodeItems : TStrings;

    ChildNode : TTreeNode;

    i : Integer;

    begin

    NodeItems := TStringList.Create;



    try

    // 여기서 파일 존재 여부를 체크하면 더욱 좋겠죠?

    ex) FileExists function을 이용해서... ^*^



    // 파일의 자료를 읽는다.

    NodeItems.LoadFromFile(FileName);



    // 읽은 자료를 해당 노드에 추가한다.

    for i:=0 to NodeITems.Count - 1 do

    begin

    Tree1.Items.AddChild(Node, NodeItems[i]);

    end;



    finally

    NodeItems.Free;

    end;

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    // 현재 Tree에서 선택된 노드에 자룔를 추가하기위해

    // 선택된 Tree 노드를 Argument로 전달합니다.

    AddNodeFromFile('test.txt', tree1.Selected);

    end;



    위와 같이 하면 언제든지 필요할때 사용이 가능하겠지요... ^*^



    설명이 부족했다면 멜주세요.