代码如下:
//-------------创建表项-----------
lvc.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT | LVCF_SUBITEM;
lvc.fmt = LVCFMT_CENTER;
lvc.cx = 20;
lvc.pszText = TEXT ("");
lvc.iSubItem = 0;
SendMessage (hLV, LVM_INSERTCOLUMN, 0, (LPARAM)&lvc); lvc.mask |= LVCF_SUBITEM;
lvc.cx = 100;
lvc.pszText = TEXT ("文件名");
lvc.iSubItem = 1;
SendMessage (hLV, LVM_INSERTCOLUMN, 1, (LPARAM)&lvc);
//---------------加两行-------------------
lvi.mask = LVIF_IMAGE ;
lvi.iItem = 0;
lvi.iSubItem = 0;
ListView_SetExtendedListViewStyle(hLV,LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
dIndex=ListView_InsertItem(hLV,&lvi);
ListView_InsertItem(hLV,&lvi); lvi.mask = LVIF_TEXT;
lvi.iItem = dIndex;
lvi.iSubItem = 1;
lvi.pszText = TEXT("a1.txt");
ListView_SetItem(hLV,&lvi);

lvi.mask = LVIF_IMAGE ;
lvi.iItem = 1;
lvi.iSubItem = 0;
ListView_SetExtendedListViewStyle(hLV,LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
dIndex=ListView_InsertItem(hLV,&lvi); lvi.mask = LVIF_TEXT;
lvi.iItem = dIndex;
lvi.iSubItem = 1;
lvi.pszText = TEXT("a2.txt");
ListView_SetItem(hLV,&lvi);索引值dIndex在第一行创建完时为0,在第二行创建完时为1,不论在显示checkbox中打不打勾,
使用函数ListView_GetCheckState(hLV,0)或ListView_GetCheckState(hLV,1)去查询两检查框状态,返回值都是-1,
不知是上面的程序出了错,还是ListView_GetCheckStat函数没用对?

解决方案 »

  1.   

    真的?
    那你运行ListView_GetCheckState(hLV,0)或ListView_GetCheckState(hLV,1)的返回值是多少呢?
      

  2.   

    好像发现问题所在了!
    我是在一dialog中创建的listview,在主窗口中还设了一按钮,运行时按取按钮就执行ListView_GetCheckState(hLV,0)查询状态,但可能是按取按钮时,执行的是主窗口消息,listview子窗口的状态没保存。感觉上要响应WM_NOTIFY消息了!
    没辙了,不知该怎么办了,求救!!!!
      

  3.   

    能不能请各位高手lixiaosan(小三)、 flyelf(空谷清音) 把代码留给我研究研究呢?发到我信箱里:[email protected]。在这先谢了!
      

  4.   

    我用的是带CheckBoxs的LISTCTRL,代码如下,不知道对你有没有帮助,下面实现的
    得到所有选中状态的item的ID,其中m_lstLogin是ListCtrl的变量
    int nCount = m_lstLogin.GetItemCount ();
    CString strID ;
    m_strLoginID = _T("");
    for(int i = 0 ;i < nCount ; i++)
    {
    if(ListView_GetCheckState(m_lstLogin.m_hWnd, i))
    {
             strID = m_lstLogin.GetItemText( i, 1 );
    m_strLoginID += strID;
    m_strLoginID += _T(",");
    } }