可以实现链表的保存,添加,修改,删除的功能,并在listbox列表控件中显示出来。
其中对于链表的更改,直接用SetAt()函数就可以实现,我是new了一个,直接SetAt进去,并自己写了析构函数进行delete。
void CAModify::OnOK()
{
CString str1,str2,str3,str4 ; // 编号 名称 购入年 维修人员数量
GetDlgItemText(IDC_AMODNUMB,str1);
GetDlgItemText(IDC_AMODNAME,str2);
GetDlgItemText(IDC_AMODYEAR,str3);
GetDlgItemText(IDC_AMODPNUMB,str4); // 维修人员数量
CCAssetDlg * parent = (CCAssetDlg*)GetParent();
for (a ;a!= NULL;)
{
b = a ;
CSoftWare *pListA = (CSoftWare *)parent->MyListA.GetNext(a);
if(num== pListA->getID() )
{
break;
}
}
CSoftWare *tail = new CSoftWare(false ,str1,str2,str3,str4);
parent->MyListA.SetAt(b,tail);
// delete tail;在这用,会删掉链表中的一些数据
CDialog::OnOK();
}