我需要从双链表中的编辑控件插入一些数据。
我该怎么做?编辑控件的数据类型为public static boolean canReadFile(Path path)
{
return Files.exists(path) && Files.isRegularFile(path) && Files.isReadable(path);
}
,所有内容的名称均为CString
,例如m_...
,依此类推......
我的结构如下所示:
m_anrede
答案 0 :(得分:0)
我会改变你的数据结构,使它更像C ++:
#pragma once
class CAddress
{
public:
CString anrede;
CString vorname;
CString nachname;
CString plz;
CString ort;
CString strasse;
CString land;
CString festnetz;
CString mobil;
CString mail;
CString geburtsdatum;
CString kategorie;
CString startnummer;
CString startzeit;
CString zeit;
CString rang;
CString fahrrad;
CString sponsor;
};
我使用MFC标准CList<CAddress>
或更好的C ++标准容器(集合类)而不是本土链表:std::list<CAddress>
。
因此,在您的应用程序窗口头文件中,您将列表定义为类成员,如下所示:
CList<CAddress> m_AddrList;
您需要某种方法来获取用户输入并填写数据结构:
void CAddressEditorDlg::FillInAddr(CAddress& addr)
{
m_anredeEditBox.GetWindowText(addr.anrede);
m_vornameEditBox.GetWindowText(addr.vorname);
m_nachnameEditBox.GetWindowText(addr.nachname);
m_plzEditBox.GetWindowText(addr.plz);
...
}
之后,您只需将用户配置的地址添加到列表中即可:
void CAddressEditorDlg::OnAddAddrButton()
{
CAddress currentAddr;
FillInAddr(currentAddr);
// add new addr to linked list
m_AddrList.AddTail(currentAddr);
}
重要:如果我是你,我会深入研究CList
源代码,看看它是如何实现的,仅用于教育目的。