C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[2031] Re:TreeView의 내용을 refresh하고자 하는데..
박지훈.임프 [cbuilder] 3707 읽음    1999-10-01 00:00
: 안녕하세요..너굴휩니다..
: 두가지 질문이 있어요..
: 우선 첫번째는..
: TreeView의 Item을 DB에서 읽어서 구성하였습니다.
: 그런데 실행도중 디비에 새로운 레코드를 추가할경우
: 그에 따라 TreeView의 내용을 바꾸고자 하는데
: 책도 찾아보고 인터넷사이트도 돌아 다녀 봤는데
: 뾰족한 수가 없더군요... --;
: 어떻게 하지요?
:
: 두번째 질문..
: Treeview의 + or - 표시를 클릭할때만 내용을 필치거나(expand)
: 닫고 싶습니다.. 그런데 노드아이템을 더블클릭해도 같은 현상
: 이 발행하더군요..
: 어떻게 하면 더블클릭할때 노드가 펼쳐지거나 닫히는 것을 막을
: 수 있을까요..?
:
: 그럼 부탁드립니다.. 꾸벅~!




임펠리테리입니다.

첫번째 질문은 조금 이상한 것 같습니다. 트리뷰에 새로운 아이템을 추가하면 트리뷰의
화면은 자동으로 갱신되는 것으로 알고있습니다. 만약 원하시는 것이, 디비에 새로운
레코드가 추가되었을때 트리에 그에 해당하는 새 아이템을 추가하는 것이라면 얘기는
조금 다른데, TTreeNode * 아이템을 새로 생성하여 트리의 적절한 위치에 삽입하면
됩니다. 만약 이 문제로 해결이 안되시는 거라면 다시 질문을 올려주세요. 예제를
들어 어떻게 트리에 동적으로 새 아이템을 추가하는지 보여드리겠습니다. 지금 사용하시는
디비의 필드 구조를 알려주시면 좀더 자세히 알려드릴 수 있겠네요.

그리고 두번째 질문...
원래는, 더블클릭했을 때만 펼쳐지는 것을 막을 방법은 없습니다. 만약 OnExpanding이나
OnCollapsing 이벤트에서 인자로 넘어온 AllowExpansion를 false로 세팅해주면
아이템이 펼쳐지거나 접히지 않도록 할 수 있습니다. 하지만, 이렇게 하면 +/- 아이콘을
눌러도 동작하지 않습니다. 편법을 생각한다고 하여 OnDoubleClick에서 미리 검사하려고
해도, 이 이벤트보다 OnExpanding/OnCollapsing 이벤트가 먼저 발생하므로 원하는
효과를 얻을 수 없습니다. 별다른 해결책이 없을듯 싶습니다.

그럼 참고하시길...

+ -

관련 글 리스트
2030 TreeView의 내용을 refresh하고자 하는데.. 유태희 3950 1999/10/01
2031     Re:TreeView의 내용을 refresh하고자 하는데.. 박지훈.임프 3707 1999/10/01
2034         Re:Re:TreeView의 내용을 refresh하고자 하는데.. 유태희 3489 1999/10/02
2036             Re:Re:Re:TreeView의 내용을 refresh하고자 하는데.. 박지훈.임프 3526 1999/10/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.