소스코드리뷰(XXIII) Radio Button and Treeview

[목차(도우미)]
소스코드리뷰(XXIII) Radio Button and Treeview

리스트뷰(ListView)를 사용하여 동적 체크박스(CheckBox)를 구현함의 쌍동이로써 트리뷰(TreeView)를 사용하여 동적 라디오버튼(Radio Button, Option Button)을 구현할 수 있다. 이미 이전 글을 읽은 분이라면 아래의 설명이 불필요할 것이다.

Radio/Option Button은 아이콘으로 구현된다

트리뷰는 보통 아이콘과 선택 상태 아이콘의 두가지가 정의된다. 보통의 아이콘을 빈 라디오이미지(O image)로 지정하고 선택상태의 아이콘을 꽉찬 라디오 이미지로 지정하면 된다. 트리뷰의 성격 상 선택한 경우가 유일하므로 라디오 이미지의 선택이 곧 트리뷰의 NodeClick 이벤트가 된다. 그리고 아이콘 이미지는 OS의 이미지를 쓸 필요가 없으므로 고유의 디자인을 구현할 수 있다.

윈도  XP에서 몇몇 선택화면에서 마우스를 올려놓아도 활성화 이미지로 바뀌지 않는 라디오 버튼이 있다면 이는 트리뷰로 구현된 것으로 보인다. Root 노드에서 왼쪽 화살표를 누르면 하부 노드 항목이 모두 접힌다면 틀림없이 트리뷰로 구현된 것이다. 이 글도 OS의 구현 --- 어찌 보면 눈속임 ---을 보고 아이디어를 얻은 것이기도 하다.

인터넷 정보:
http://delphi.about.com/od/vclusing/l/aa092104a.htm
여기에는 같은 아이디어이지만 델파이에서 좀더 확장시킨 아이디어, 구현이 공개되어 있다.
by 금메달.아빠 on 2010. 9. 19. 23:56