在ListView中加入圖標

 在ListView中加入圖標的第一步是利用ListCtrl的SetImageList函數使該ListView關聯到一個ImageList上面去:

CString strBmpPathSet,strBmpPathUnSet;
 strBmpPathSet = "***"; //第一個圖標的路徑
 strBmpPathUnSet = "***"; //第二個圖標的路徑
 
 HBITMAP hBitmap; 
 CBitmap *pBitmap; 
 
 m_pImageList = new CImageList(); 
 m_pImageList->Create (16,16,ILC_COLOR4,5,2);
 
 //在ImageList中加入第一個位圖文件
 pBitmap = new CBitmap;
 strBmpPathSet += "
//1.bmp"; 
 hBitmap = (HBITMAP)LoadImage(NULL,(LPCTSTR)strBmpPathSet,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
 pBitmap->Attach(hBitmap); 
 m_pImageList->Add(pBitmap,RGB(0,0,0));
 delete pBitmap;
 
 //在ImageList中加入第二個位圖文件
 strBmpPathUnSet += "
//2.bmp";
 hBitmap = (HBITMAP)LoadImage(NULL,(LPCTSTR)strBmpPathUnSet,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
 pBitmap = new CBitmap;
 pBitmap->Attach(hBitmap); 
 m_pImageList->Add(pBitmap,RGB(0,0,0));
 delete pBitmap;

 listCtrl.SetImageList(m_pImageList,LVSIL_SMALL);

然後在響應ListView的WM_CREATE消息函數OnCreate函數里加入列名:

CListCtrl &listCtrl = GetListCtrl();

 //listCtrl.EnableWindow( FALSE );

 listCtrl.InsertColumn(0, _T("MCUID"),  LVCFMT_CENTER, 60); 
 listCtrl.InsertColumn(1, _T("MCUIP"),  LVCFMT_CENTER, 140); 
 
 listCtrl.SetExtendedStyle(listCtrl.GetExtendedStyle()|LVS_EX_FULLROWSELECT);

接下來在PreCreateWindow函數裏使View的類型爲報表試圖類:

cs.style |= LVS_REPORT | LVS_SHOWSELALWAYS;

最後加入視圖內容:

listCtrl.InsertItem( 0 "第一行", 0 ); //這裏面後一個0代表視圖顯示的圖標爲ImageList中的第幾個圖標

listCtrl.SetItemText(0, 1, "第一行第二列的內容" );

listCtrl.SetItemText(0, 2, "第一行第三列的內容" );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章