계층 구조의 데이터를 표현하기 위한 컨트롤
일반적으로 상위 항목이 존재하고 상위 항목을 더블 클릭하면 하위 항목들을 나타낼 수 있습니다.
1. 주요 속성
Single Expand: True 이면 한 항목이 확장되어 있는 상태에서 다른 항목을 선택하면 자동으로 접히게 됩니다.
Track Select: True이면 항목 위로 커서를 이동했을 때 항목에 밑줄이 그려집니다.
Always Show Selection: 항상 보여지기
Check Boxes: 옆에 체크 박스 표시
Has Buttons: 버튼 표시
Has Lines: 라인 표시
Lines At Root: 루트에도 라인 표시
2. 멤버 함수
1)속성 관련 함수
GetCheck(): 체크 상태 리턴
GetChildItem(): 자식 항목을 리턴
GetCount(): 모든 항목의 수 리턴
GetItem(): 항목의 속성을 리턴
GetItemState(): 항목의 상태를 리턴
GetItemText(): 항목의 문자열을 리턴
GetNextItem(): 다음 항목을 구함
GetNextSiblingItem(): 다음 항목 리턴(동일 레벨)
GetParentItem(): 부모 항목을 리턴
GetPrevSiblingItem(): 동일 레벨의 이전 항목을 리턴
GetSelectedItem(): 선택된 항목을 리턴
2) 동작 관련 함수
DeleteAllItems(): 트리 컨트롤의 모든 항목을 제거
DeleteItem(): 트리 컨트롤의 항목 중 하나 제거
Expand(): 지정된 항목을 확장 하거나 축소
InsertItem(): 트리 컨트롤에 새로운 항목 삽입
3. ImageList
이미지만 전문적으로 관리해주는 것으로 CImageList클래스로 구현됩니다.
동일한 크기의 이미지들을 가지는 일종의 이미지 배열입니다.
1) CImageList클래스의 객체를 생성합니다.
2) 생성된 객체가 Create 함수를 호출해서 그림의 옵션을 설정합니다.
BOOL Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow);
cx: 가로 길이
cy: 세로 길이
nFlags: 그림에 대한 옵션
ILC_COLOR, ILC_COLOR4, ILC_COLOR8, ILC_COLOR16, ILC_COLOR24, ILC_COLOR32
ILC_MASK
nInitial: 초기화 할 그림의 수
nGrow: 다음에 할당될 메모리의 양
3) 이미지 리스트에 그림 추가
int Add(CBitmap* pbmImage, CBitmap* pbmMask)
int Add(CBitmap* pbmImage, COLORREF crMask)
int Add(HICON hIcon)
4) 리스트나 트리 컨트롤에 이미지 리스트 적용
SetImageList(CImageList * pImageList, int nImageListType) 함수 이용
pImageList: 적용할 이미지 리스트 주소
nImageListType: 이미지 리스트의 타입
LVSIL_NORMAL: 32*32(리스트), 16*16(트리)
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
프린트 인쇄 미리보기 (0) | 2011.04.25 |
---|---|
API 를 이용하여 컨트롤 만들기 (0) | 2011.04.25 |
[Slider] 비트맵 슬라이더 (0) | 2011.04.25 |
[Etc] 가위, 바위, 보 게임 (0) | 2011.04.18 |
[MFC] 화면 갱신 우선처리 (0) | 2011.04.18 |
댓글