如何在双击列表中插入编辑控件中的项目
How Do I Insert Items From An Edit Control In A Double Linked List
我需要在双链接列表中插入编辑控件中的一些数据。我该怎么做?编辑控件的数据类型是CString
,所有数据类型都像m_...
一样命名,例如m_anrede
等等…
我的结构如下:
typedef struct adr{
char anrede [5];
char vorname [51];
char nachname [51];
char plz [8];
char ort [60];
char strasse [51];
char land [24];
char festnetz [14];
char mobil [14];
char mail [101];
char geburtsdatum [11];
char kategorie [31];
char startnummer [5];
char startzeit [9];
char zeit [9];
char rang [5];
char fahrrad [31];
char sponsor [31];
} adressen;
struct node{
adressen *konto;
struct node *prev;
struct node *next;
};
我会更改您的数据结构,使其更像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
源代码,看看它是如何实现的,只是为了教育目的。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 当光标位置在编辑控件 MFC 中更改时是否有通知代码?
- 为什么WS_TABSTOP不适用于丰富的编辑控件?
- 编辑控件无法正常工作
- 使用 GetWindowTextW 从编辑控件获取希伯来语文本
- 如何使用面向对象的技术在 win32 和 c++ 中创建编辑控件
- 如何检查编辑控件的滚动条是否位于底部
- C 本机Win32简单的编辑控件
- WinAPI - 如何打印文本以编辑控件
- MFC Rich编辑控件2.0文本颜色
- 编辑控件边框和WM_CTLCOLOREDIT
- 如何在对话框首次启动时禁用编辑控件的焦点?
- 十进制数字的区域设置感知编辑控件子类化(格式[sign][xxx..][decimal separator][yy.])
- 无法在编辑控件上设置字体
- c++ MFC 将编辑控件中的字符串转换为十六进制
- Win32 API:如何在编辑控件中捕获转义键?
- 如何在不显示文本的情况下分配Win32编辑控件的窗口名称
- C MFC创建编辑控件可以拥有的最大数字
- mfc c++通过编辑控件设置另一个应用程序的HWND地址