void CStuInputDlg::OnDispall()
{
UpdateData();
CString strSEX;
int nResult=GetCheckedRadioButton(IDC_MAN,IDC_WOMAN);
if(nResult==IDC_MAN) strSEX="男";
else strSEX="女";
m_strNAME.TrimLeft();
if (m_strNAME.IsEmpty())
{MessageBox("姓名不能为空!");}
m_strNO.TrimLeft();
if (m_strNO.IsEmpty())
{MessageBox("学号不能为空!");}
if(!m_strNAME.IsEmpty()&&!m_strNO.IsEmpty())
if(m_bDispAll)
m_DataList.Format("%-7s\t%-7s\t%-7s\t%-5d\t%-5d\t%-5d",m_strNAME,m_strNO,strSEX,m_Score1,m_Score2,m_Score3);
else
m_DataList.Format("%-7s\t%-7s\t%-7s",m_strNAME,m_strNO,strSEX);
UpdateData(FALSE);// 使用当前列表项所关联的内容显示在控件上
}
void CStuInputDlg::OnIuput()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
OnDispall();
}
MFC的程序,输入数据始终只能保存一条,随后输入会覆盖前面的,代码如下
答案:2 悬赏:30 手机版
解决时间 2021-12-28 21:07
- 提问者网友:你独家记忆
- 2021-12-28 05:24
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-12-28 06:27
不出意外的话,m_DataList被你声明为了CString,当然只记录一条输入。
你应该把m_DataList声明为链表类。如果它是成员变量,声明为CList;如果它是控件,声明为CListCtrl,再关联一个CList
CString cs;
cs.Format("%-7s\t%-7s\t%-7s",m_strNAME,m_strNO,strSEX);
m_DataList.AddTail(cs);
你应该把m_DataList声明为链表类。如果它是成员变量,声明为CList;如果它是控件,声明为CListCtrl,再关联一个CList
CString cs;
cs.Format("%-7s\t%-7s\t%-7s",m_strNAME,m_strNO,strSEX);
m_DataList.AddTail(cs);
全部回答
- 1楼网友:罪歌
- 2021-12-28 07:29
直接在你退出的那个按钮上的关联函数内后边加上
if(idyes == messagebox("是否保存数据和删除程序运行产生文档","温馨提示",mbyesno))
{
保存数据相关语句;
删除程序产生文档相关语句;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯