分享

MFC中如何在列表框控件中显示位图

 昵称7339963 2011-07-16
void CListCtrlTestDlg::InitListCtrl(void)
{
 m_cListCtrl.DeleteAllItems();
 m_cImageListSmall.DeleteImageList();
 m_cImageListNormal.DeleteImageList();
 // Create 256 color image lists
 HIMAGELIST hList = ImageList_Create(32,32, ILC_COLOR8 |ILC_MASK , 8, 1);
 m_cImageListNormal.Attach(hList);
 
 hList = ImageList_Create(16, 16, ILC_COLOR8 | ILC_MASK, 8, 1);
 m_cImageListSmall.Attach(hList);//贴上; 系; 附上
/*
CImageList  *m_imageList;  //类成员变量
CListCtrl m_listCtrlPal;    //类成员变量
m_imageList = new CImageList();
//m_imageList->Create ( 32, 32, ILC_COLOR4 , 0, 1 );
m_imageList->Create ( 32, 32, ILC_COLOR8|ILC_MASK, 9, 9 );
m_imageList->Add(AfxGetApp()->LoadIcon(IDI_ICON4));  
m_imageList->Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));  
//m_listCtrlPal.SetImageList(m_imageList, LVSIL_SMALL);
m_listCtrlPal.SetImageList(m_imageList, LVSIL_NORMAL);
 m_listCtrlPal.InsertItem(LVIF_TEXT|LVIF_STATE,   1,   "SDFDSGDFGH",    
  LVIS_SELECTED   ,   LVIS_SELECTED,  
              0,   0);
*/
 for(int n = 0; n < 10; n++)
 {
  m_cImageListNormal.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
  m_cImageListSmall.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
 }
 // Attach them
 m_cListCtrl.SetImageList(&m_cImageListNormal, LVSIL_NORMAL);
 m_cListCtrl.SetImageList(&m_cImageListSmall, LVSIL_SMALL);
 if(bReport)
 {
  
 }
 LVITEM lvi;
 for(int i=0; i<10; i++)
 {
  CString sFieldStr;
  sFieldStr.Format("第%d行第一字段", i);
  //lvi.mask =  LVIF_IMAGE | LVIF_TEXT | LVIF_PARAM;
  lvi.mask =  LVIF_IMAGE | LVIF_TEXT;
  lvi.iItem = i;
  lvi.iSubItem = 0;
  lvi.pszText = sFieldStr.GetBuffer(0);
  lvi.iImage = i; // There are 8 images in the image list
  
  m_cListCtrl.InsertItem(&lvi);
  
  lvi.iSubItem =1;
  sFieldStr.Format("第%d行第二字段", i);
  lvi.pszText = sFieldStr.GetBuffer(0);
  m_cListCtrl.SetItem(&lvi);
  
  lvi.iSubItem =2;
  sFieldStr.Format("第%d行第三字段", i);
  lvi.pszText = sFieldStr.GetBuffer(0);
  m_cListCtrl.SetItem(&lvi);
  
  m_cListCtrl.SetItemData(lvi.iItem, i);
 }
 m_cListCtrl.SetExtendedStyle(LVS_EX_GRIDLINES);
 m_cListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT );
 DWORD dwStyle = m_cListCtrl.GetExtendedStyle();
 dwStyle |= (LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_AUTOARRANGE );
 m_cListCtrl.SetExtendedStyle(dwStyle);

 return;
}

void CListCtrlTestDlg::OnButton1()
{
 // TODO: Add your control notification handler code here
 
}
void CListCtrlTestDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
 // TODO: Add your control notification handler code here
 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
 if(pNMListView->iItem != -1)
 {
  CString strTmp;
  strTmp.Format("您选中了第%d项",pNMListView->iItem);
  MessageBox(strTmp);
 }
 *pResult = 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多