Q&A

  • TreeView에서 제일마지막 노드 구하기
만약 트리뷰의 첫번째 노드라면 제일 마지막 노드로 포커스를 주고
아니면 이전 노드에 포커스를 준다.

// 이전버튼을 클릭했을 때
if(Tree.Selected.IsFirstNode) then
    Tree.Selected := 제일 마지막 노드
  else
    Tree.Selected := Tree.Selected.GetPrev;

// 다음버튼을 클릭했을 때
만약 트리뷰의 마지막번째  노드라면 첫번째 노드로 포커스를 주고
아니면 다음 노드에 포커스를 준다

if(Tree.Selected.AbsoluteIndex = Tree.Items.Count -1) then
    Tree.Selected := Tree.Selected.Owner.GetFirstNode
  else
    Tree.Selected := Tree.Selected.GetNext;

이렇게 구현하려고 하는데, GetLastChild 를 사용하면 해당 노드의
마지막 서브노드를 선택하더군요.
여기저기 찾아봤는데 못찾아서 이곳에 질문 올립니다.

Owner.GetFirstNode 처럼 한방에 제일 마지막 노드 구한는건 없나요?
아님 제가 못찾는걸까요?

부탁드립니다. 그리고 읽어봐주셔서 감사합니다.
1  COMMENTS
  • Profile
    sky 2003.08.02 21:44
    이렇게 함 해보시면 어떨까요.....

        if Tree.Selected.IsFirstNode then
            Tree.Selected := Tree.Items.Item[Tree.Items.Count -1]
        else
            Tree.Selected := Tree.Selected.GetPrev;