: 안녕하세요..너굴휩니다..
: 두가지 질문이 있어요..
: 우선 첫번째는..
: TreeView의 Item을 DB에서 읽어서 구성하였습니다.
: 그런데 실행도중 디비에 새로운 레코드를 추가할경우
: 그에 따라 TreeView의 내용을 바꾸고자 하는데
: 책도 찾아보고 인터넷사이트도 돌아 다녀 봤는데
: 뾰족한 수가 없더군요... --;
: 어떻게 하지요?
:
: 두번째 질문..
: Treeview의 + or - 표시를 클릭할때만 내용을 필치거나(expand)
: 닫고 싶습니다.. 그런데 노드아이템을 더블클릭해도 같은 현상
: 이 발행하더군요..
: 어떻게 하면 더블클릭할때 노드가 펼쳐지거나 닫히는 것을 막을
: 수 있을까요..?
:
: 그럼 부탁드립니다.. 꾸벅~!
임펠리테리입니다.
첫번째 질문은 조금 이상한 것 같습니다. 트리뷰에 새로운 아이템을 추가하면 트리뷰의
화면은 자동으로 갱신되는 것으로 알고있습니다. 만약 원하시는 것이, 디비에 새로운
레코드가 추가되었을때 트리에 그에 해당하는 새 아이템을 추가하는 것이라면 얘기는
조금 다른데, TTreeNode * 아이템을 새로 생성하여 트리의 적절한 위치에 삽입하면
됩니다. 만약 이 문제로 해결이 안되시는 거라면 다시 질문을 올려주세요. 예제를
들어 어떻게 트리에 동적으로 새 아이템을 추가하는지 보여드리겠습니다. 지금 사용하시는
디비의 필드 구조를 알려주시면 좀더 자세히 알려드릴 수 있겠네요.
그리고 두번째 질문...
원래는, 더블클릭했을 때만 펼쳐지는 것을 막을 방법은 없습니다. 만약 OnExpanding이나
OnCollapsing 이벤트에서 인자로 넘어온 AllowExpansion를 false로 세팅해주면
아이템이 펼쳐지거나 접히지 않도록 할 수 있습니다. 하지만, 이렇게 하면 +/- 아이콘을
눌러도 동작하지 않습니다. 편법을 생각한다고 하여 OnDoubleClick에서 미리 검사하려고
해도, 이 이벤트보다 OnExpanding/OnCollapsing 이벤트가 먼저 발생하므로 원하는
효과를 얻을 수 없습니다. 별다른 해결책이 없을듯 싶습니다.
그럼 참고하시길...
|