我在dialog上用list ctrl做图像列表,在classwizard里面指定为控件m_list
可是m_list没有add啊!
无法把icon加上去,请问为什么?

解决方案 »

  1.   

    CImageList  mimg;
    HICON           hIcon;
    mimg.Create(32,32,ILC_COLOR8,7,0);

    hIcon = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_VWI_NORMAL));
    mimg.Add(hIcon);
    DeleteObject(hIcon); hIcon = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_VWI_ERROR));
    mimg.Add(hIcon);
    DeleteObject(hIcon); hIcon = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_VWI_INSTALL));
    mimg.Add(hIcon);
    DeleteObject(hIcon); GetListCtrl().SetImageList(&mimg,LVSIL_NORMAL);
    GetListCtrl().SetImageList(&mimg,LVSIL_SMALL);  
    // LVSIL_SMALL  和 LVSIL_NORMAL 是你的LISTCTRL 在不同视图显示不同的图表。
      

  2.   

    请问,不能在dialog里面,用那个list控件做为imagelist吗?
    一定需要手动的写它的create吗?
      

  3.   

    请问我的imagelist为什么不能把图标显示出来?
      

  4.   

    没有看明白吗?  你的m_list控件 和 我的GetListCtrl() 是同一个性质的(我的是用 CListView 派生的子类) 。想在 m_listctrl 中显示图表要有一下几个步骤:
    1 把想要显示的图表 添加到 一个 CImageList 的变量中去。
    2 把CImageList的变量 在添加到 m_listctrl 中。参考上面的程序!
      

  5.   

    我的图标现实不出来,请问为什么?
    我在一个按钮写这么写的:
    CImageList  simg,limg; /*initialize the image list*/
    simg.Create(16,16,FALSE,1,0);
    HICON hIcon = ::LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
    simg.Add(hIcon);
    DeleteObject(hIcon);
    m_listView.SetImageList(&simg,LVSIL_SMALL);  
    然后添加一个项
    LV_ITEM lvItem;
    lvItem.mask = LVIF_TEXT|LVIF_IMAGE|LVIF_STATE;
    lvItem.state = 0;
    lvItem.stateMask = 0;
    lvItem.iImage = 1;
    lvItem.iItem = 1;
    lvItem.iSubItem = 0;
    lvItem.pszText = "item1";
    m_listView.InsertItem(&lvItem);
    m_listView.SetItemText(i,1,"Sub Item 0.1");
    m_listView.SetItemText(i,2,"Sub Item 0.2");
    现在能显示出来item1,但是没有图标,请问为什么?
      

  6.   

    你的listview是什么样式的?大图标?列表?..
      

  7.   

    什么模式?  DEBUG or RELEASE ?  切换一下试试看!
      

  8.   

    按照你的代码,应该将lvItem.iImage = 1;改为lvItem.iImage = 0;因为你只是添加了一个图标,而图象列表的索引号从零开始
      

  9.   

    呵呵,谢谢,已经能显示出图标了
    请问如何能将listview的上下滚动改成左右滚动?
      

  10.   

    我读入一个位图,可以在picture控建立显示,为什么不能在imagelist中显示出来啊!?