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
[19703] Re:[질문] TTreeNode::StateImages, StateIndex...
이승주 [] 1029 읽음    2002-06-29 12:39

skjoon 님이 쓰신 글 :
: 트리노드에 체크박스를 넣으려고 하고 있습니다..
:
: 처음에는 DisplayRect()를 이용해서 노드의 위치를 구하고, TTreeView의 Ident 속성값을 변화시켜 노드의 위치를 뒤로 좀 이동한 후에, 노드의 앞부분에 TCheckBox를 생성해서 넣어주었습니다..
: 원하는 모양을 만들기는 했는데.. 암만봐도 좀 어색하더군요.. ^^;; 노드 상태가 변할때마다 새로 체크박스 위치, 보이기 조정하는 것도 있구요..
:
: 그래서 아이콘을 체크박스 모양으로 넣어서 변하게 하는 방법을 했습니다..
: 그러던 중에 TTreeView의 StateImages라는 넘을 봤는데요..
: (http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=74 참조했습니다.)
:
: 도움말에 보니까..
:
: Use StateImages to provide a set of bitmaps that reflect the state of tree view nodes. The state image appears as an additional image to the left of the item's icon.
:
: 대충 생각하기에 아이콘의 왼쪽에 또 아이콘을 만들어준단 얘기같네요.. 맞나요? ^^;;
:
: 그래서 StateImages에 이미지리스트를 설정하고, StateIndex를 줘봤는데.. 아무 변화가 없네요..
:

StateImages에 이미지리스트를 설정하시되 3개의 이미지를 가지고 있어야 되는 것 같더군요.
그리고 TreeView의 각 아이템의 StateIndex를 1로 해 주십시오.
0으로 하니까 초기에 이미지가 보이지 않더군요.
그리고 OnClick 이벤트에서 다음과 같이 해 주시면 됩니다.

if ( TreeView->Selected->StateIndex = 1 )
    TreeView->Selected->StateIndex = 2;
else
    TreeView->Selected->StateIndex = 1;

StateIndex가 0일 경우에는 이미지가 보이지 않았습니다.
그래서 1과 2로 이미지의 변화를 주도록 한 것입니다.
3개의 이미지가 필요한 이유입니다.


: 이넘을 사용하려면 어떻게 해야하는지.. 고수님들 도움 부탁드립니다..
: 빌더를 몇년만에 다시 쓰려니.. 잘 모르겠네요.. ^^;;
:
: (첨부한 그림처럼 구현을 하려고 합니다..)

+ -

관련 글 리스트
19669 [질문] TTreeNode::StateImages, StateIndex... skjoon 895 2002/06/28
19749     Re:[질문] TTreeNode::StateImages, StateIndex... 서호철 1158 2002/07/02
19703     Re:[질문] TTreeNode::StateImages, StateIndex... 이승주 1029 2002/06/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.