我采用如下方面在ListCtrl中显示图片,但图片显示不出来。
if( !m_List.Create( WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP |  LVS_EDITLABELS,
rect,
this,
0x10 ) )
{
TRACE("Create List fails.");
return FALSE;
}
m_List.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_SUBITEMIMAGES | LVS_EX_FULLROWSELECT); CImageList ImageList;
ImageList.Create(32, 32, TRUE, 1, 1);
HICON hIcon = AfxGetApp()->LoadIcon(188);
ImageList.Add(hIcon);
ImageList.Add(hIcon); m_List.SetImageList( &ImageList, LVSIL_STATE ); m_List.InsertColumn( 0, " ", LVCFMT_LEFT, 32 );
m_List.InsertColumn( 1, " ", LVCFMT_LEFT, 80 );
m_List.InsertItem( 0, "", 0);
m_List.InsertItem( 1, "", 1);
m_List.SetItemText( 0, 1, "aa");
m_List.SetItemText( 1, 1, "bb");

解决方案 »

  1.   

    m_List.InsertColumn( 0, " ", LVCFMT_LEFT, 32 );
    m_List.InsertColumn( 1, " ", LVCFMT_LEFT, 80 );最后面的数字是怎么出来的?这个数字代表在CImageList里面存储的图片的编号,一般来说是从0开始的编号,如果你只有一个图片的话,用0试试看,建议不要这么做,通过ImageList.Add(hIcon);的返回值确定编号。
      

  2.   

    CListCtrl::InsertColumnint InsertColumn( int nCol, const LVCOLUMN* pColumn );int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );你说的应该是InserItem吧,我也是照你说的那样做的啊。
      

  3.   

    LVSIL_STATE 换成其它的看看
      

  4.   

    LVSIL_NORMAL,LVSIL_SMALL,LVSIL_STATE 这三个都试过了,不行啊。