我想用list control控件实现以下功能.首先连上数据库,设置两个list control控件,点击其中一个,在另外一个控件中显示这一行的数据(例如建一个表student,有ID ,SEX ,AGE三列,ID是主健,一个控件显示ID,在另外一个控件中显示这一行的数据.下面是一位的答复:
假设两个ListCtrl控件,m_listID, m_listMsg
首先,程序运行起来,你要初始化m_listID,把数据库中的ID值读入m_listID,可以通过以下代码实现:
m_listID.InsertColumn(0, "ID");//加入一列
m_listID.SetColumnWidth(0, 100);//设置列宽
         for (int i=0; i<id数目; i++)
        {
            m_listID.InsertItem(i, "id号");//插入一行
           //如果一行有多列,可以通过m_listID.SetItemText(iRow, iCol, "Text")设置其它列的文本
        }生成单击响应函数OnLButtonDown()通过以下代码得到选择的那一行
CRect rect;
m_listID.GetWindowRect(&rect);
NMITEMACTIVATE* pItem = (NMITEMACTIVATE*)pNMHDR;
CPoint point = pItem->ptAction;
LVHITTESTINFO itemHit;
itemHit.pt = point;
int iRow = m_VcAlmList.SubItemHitTest(&itemHit);
这样你就可以得到这一行的数据了,并且可以在函数中调用m_listMsg的函数,先清除所有信息,然后显示你所选中的那个id的信息就可以了.
他的回答我有点不明白.LVHITTESTINFO itemHit;int iRow = m_VcAlmList.SubItemHitTest(&itemHit);这两句是什么意思?(在函数中调用m_listMsg的函数,先清除所有信息,然后显示你所选中的那个id的信息就可以了),具体是什么含义?
我的QQ号:157556017