728x90
반응형
CTreeCtrl에 Icon을 넣으면 시인성을 높일 수 있다. 그리고 Drag & Drop을 하려면 Icon이 필요하다.
아이콘을 만들려면 resource에 bmp 파일을 만들어 두어야 한다.
요렇게 만들자. 사용하려고 하는 동일 크기의 사이즈만큼 연속해서 붙이자.
ID는 IDB_TREE_NODE라고 정했다.
// 서브클래싱 상태로 코딩한다고 가정한다.
// 컨트롤러를 선언해서 한다면 앞에 선언한 변수를 포함시키면 된다.
CBitmap bmp;
bmp.LoadBitmap(IDB_TOOLBAR_NODE); // BITMAP ID는 IDB_TOOLBAR_NODE라고 정했다.
m_imageList.DeleteImageList // 멤버 변수로 CImageList를 m_imageList라고 선언해 두었다.
// 크기가 16x16인 아이콘으로 만들 것이고, 16BIT COLOR에 MAK를 씌어서 투명하게 만들 것이다.
m_imageList.Create(16, 16, ILC_COLOR16 | ILC_MASK , 0, 0);
m_imageList.Add(&bmp, RGB(255,0,255)); // 읽은 bitmap을 더하고, MASK 색으로 연보라로 정한다.
SetImageList(&m_imageList, TVSIL_NORMAL); // CTreeCtrl에 CImageList를 설정한다.
실행시키면 아래와 같이 나온다.
ITEM을 add 할 때 icon의 위치를 지정하면 된다.
HTREEITEM hItem = InsertItem(nodename.c_str(), res, res, hParent);
res가 0이면 , icon 사이즈를 16으로 정했다면, 0 ~ 16 픽셀까지, 1이면 17 ~ 32픽셀까지 표현된다.
728x90
반응형
'Program Language > API | MFC' 카테고리의 다른 글
[Win32] <xmllite.h> 사용 시 redefinition Error 발생 시 (0) | 2021.07.22 |
---|---|
[MFC] 빈 사각형 그리기 (0) | 2021.06.08 |
[MFC] 스크롤바 유무확인 (0) | 2021.05.28 |
[MFC] MDI에서 자식창 크기 조절하기 (0) | 2021.05.26 |
[MFC] SendMessage로 문자 보내기 (0) | 2021.05.24 |