关键点:
(1)编辑位图资源总是一堆像素点堆起来的,在资源编辑器中看到的位图中那一个个的小方块 就是一个个像素点.
(2)VC提供了一个函数 INDEXTOSTATEIMAGEMASK(index),这个函数就可以根据索引只获取位图中的某一部分为自己所用,如何实现呢,看如下:
CImageList m_imgState;
CTreeCtrl m_TripleTree;
m_imgState.Create(IDB_BITMAP_STATE,13 , 1, RGB(255,255,255)); // m_imgState认为它要的位图都是13*13个像素的
m_TripleTree.SetImageList(&m_imgState,TVSIL_STATE);
m_TripleTree.SetItemState( hRoot, INDEXTOSTATEIMAGEMASK(0 ), // 0就表示从位图里截取第一个13*13的部分为自己所用
TVIS_STATEIMAGEMASK );