BOOL CFileServerDlg::OnInitDialog()
{

m_imageList.Create(32,32,ILC_COLOR32,10,30);
m_List.SetImageList(&m_imageList,LVSIL_NORMAL);

}
void CFileServerDlg::OnButton1() 
{
HICON hIcon=GetRegisterIcon();
m_imageList.Add(hIcon);
m_List.InsertItem(0,"FileName",0);
}
这个只能实现大图标显示,我想实现列表显示。如何实现呢
貌似m_List.Create函数可以设置,但是我并没有调用该函数啊?
列表控件可以看作是功能增强的 ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC 中使用 CListCtrl  类来封装列表控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle 中可以使用以下一些列表控件的专用风格: 
l        LVS_ICON ,LVS_SMALLICON ,LVS_LIST, LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示
但是我不知道如何使用???

解决方案 »

  1.   

    //试试:
    listctrl.ModifyStyle(LVS_ICON, LVS_REPORT);
    listctrl.ModifyStyle(LVS_REPORT, LVS_ICON); 
      

  2.   

    //试试: 
    listctrl.ModifyStyle(LVS_ICON, LVS_REPORT); //大图标到报表。
    listctrl.ModifyStyle(LVS_REPORT, LVS_ICON); //报表到大图标。
      

  3.   

    也可以在对话框资源上改,右击属性,改成report,或你需要的,试下就知道了
      

  4.   

    已经实现大图标与列表的切换不过有点问题,换成列表后图标还是那么大
    m_imageList.Create(32,32,ILC_COLOR32,10,30);
    能不能动态该一下这个image大小呢
      

  5.   

    试试创建 2 个 CImageList,一个大图标,一个小图标,再在切换时使用 CListCtrl::SetImageList 更换。
      

  6.   

    或 DeleteImageList 后再重新创建。
      

  7.   

    楼主是想要从头到尾都是列表的话,就在资源里,属性,style改为report.如果是要在列表和图标之间相互转换的话,就如下:不过,要注意处理不然会出错的.