下面是我用列表控件做的,只能读到一个子项,怎么写才能读到一行的数据 void CQ5Dlg::OnClickList3(NMHDR* pNMHDR, LRESULT* pResult) 
{
// TODO: Add your control notification handler code here
POSITION pos = m_List.GetFirstSelectedItemPosition();
 if(pos)   
  {   
  int   nItem   =   m_List.GetNextSelectedItem(pos);   
  CString   strTemp;   
  strTemp.Format("%s",m_List.GetItemText(nItem,1));  
  m_Total.AddString(strTemp);
  UpdateData(FALSE);   
  } 
*pResult = 0;
}

解决方案 »

  1.   

    补充:
    m_Total  是LIST BOX控件的一个变量.
    m_List   是列表控件的一个变量.
      

  2.   

    POSITION ps=m_List.GetFirstSelectedItemPosition();
    CHeaderCtrl *pHearder=m_List.GetHeaderCtrl();
    if (ps==NULL)return;
    while (ps)
    {
    int nItem=m_List.GetNextSelectedItem(ps);
    if (pHearder)
    {
    int RowCount=pHearder->GetItemCount(); //获得共有多少列
    for (int i=0;i<RowCount;i++)
    {
    CString strName=m_List.GetItemText(nItem,i); //循环读出每一列的值
    }
    }
    }
      

  3.   

    这个问题搞定了,谢谢各位了
    后来我想读取每列的标题,查了一下不知道用什么,用GetHeaderCtrl()  这个搞不出来,请各位指教!