2.使用CBitMap::Attach()載入HBITMAP。
3.將產生的CBitMap物件透過CImageList::Add()設定給CImageList。
4.使用CTreeCtrl::SetImageList()將CImageList設定給CTreeCtrl。
5.在需要塞入圖片的Item使用SetItemImage()指定圖片即可。
6.由於這邊使用LoadImage()時,是讀新的圖片進來,所以不用到圖片時,則需在使用DeleteObject()來釋放記憶體。
HBITMAP hBMP= (HBITMAP)LoadImage(NULL,"c:\\temp\\noname.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
if ( !hBMP ) {
CDSMsgShower::ShowMsgByErrorBox(this->m_hWnd, "ERROR", MB_OK, "Fail to load bmp file. Error =%d", ::GetLastError());
}
CBitmap *pBMP = new CBitmap;
pBMP->Attach(hBMP);
if (!m_cImageList.Create(16,16, ILC_COLOR16|ILC_MASK, 6, 6))
AfxMessageBox("Problem in creating ImageList");
this->m_cImageList.Add(pBMP, RGB(255, 255, 255)); //Mask部分如沒有其他顏色要過濾掉的話,就設成白色
No comments:
Post a Comment