⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addr_bookdlg.cpp

📁 用C++完成一个学生信息管理系统 要求有界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	if(s.GetLength()>sizeof(aPeople.mobile))
	{
		s1.Format("手机最多不超过%d个字符!",aPeople.mobile);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("手机最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.mobile,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.oicq))
	{
		s1.Format("成绩最多不超过%d个字符!",aPeople.oicq);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("成绩最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.oicq,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.email))
	{
		s1.Format("Email最多不超过%d个字符!",aPeople.email);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("Email最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.email,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.addr))
	{
		s1.Format("地址最多不超过%d个字符!",aPeople.addr);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("地址最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.addr,s,s.GetLength());
	if(!m_addrbook.Add(&aPeople))
	{
		AfxMessageBox("添加失败!");
		return;
	}
	ShowData();
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_NAME);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_TEL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_MOBILE);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->SetWindowText("");
}

void CAddr_bookDlg::OnButtonModify() 
{
	// TODO: Add your control notification handler code here
	if(m_list.GetSelectedCount()<1)
		return;
	int n=m_list.GetSelectionMark();
	DWORD i=m_list.GetItemData(n);
	APeople aPeople;
	POSITION pos=m_addrbook.GetPositionWithIndex(i);
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT_NAME);
	CString s,s1;
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.name))
	{
		s1.Format("姓名最多不超过%d个字符!",aPeople.name);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("姓名最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.name,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_TEL);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.tel))
	{
		s1.Format("学号最多不超过%d个字符!",aPeople.tel);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("学号最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.tel,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_MOBILE);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.mobile))
	{
		s1.Format("手机最多不超过%d个字符!",aPeople.mobile);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("手机最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.mobile,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.oicq))
	{
		s1.Format("成绩最多不超过%d个字符!",aPeople.oicq);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("成绩最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.oicq,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.email))
	{
		s1.Format("Email最多不超过%d个字符!",aPeople.email);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("Email最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.email,s,s.GetLength());
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->GetWindowText(s);
	if(s.GetLength()>sizeof(aPeople.addr))
	{
		s1.Format("地址最多不超过%d个字符!",aPeople.addr);
		AfxMessageBox(s1);
		return;
	}
	if(s.GetLength()<2)
	{
		AfxMessageBox("地址最小不小于2个字符!");
		return;
	}
	memcpy(aPeople.addr,s,s.GetLength());
	APeople *pPeople=(APeople*)m_addrbook.pList.GetAt(pos);
	memcpy(pPeople,&aPeople,sizeof(APeople));
	ShowData();
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_NAME);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_TEL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_MOBILE);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->SetWindowText("");
}

void CAddr_bookDlg::OnButtonDelete() 
{
	// TODO: Add your control notification handler code here
	if(m_list.GetSelectedCount()<1)
		return;
	int n=m_list.GetSelectionMark();
	DWORD i=m_list.GetItemData(n);
	m_addrbook.Delete(m_addrbook.GetPositionWithIndex(i));
	ShowData();
}

void CAddr_bookDlg::OnButtonSort() 
{
	// TODO: Add your control notification handler code here
	CComboBox* pComboBox=(CComboBox*)GetDlgItem(IDC_COMBO2);
	CString s;
	pComboBox->GetLBText(pComboBox->GetCurSel(),s);
	pComboBox=(CComboBox*)GetDlgItem(IDC_COMBO3);
	if(!m_addrbook.Sort(s,pComboBox->GetCurSel()))
	{
		AfxMessageBox("排序失败");
		return;
	}
	ShowData();
}

void CAddr_bookDlg::OnButtonSearch() 
{
	// TODO: Add your control notification handler code here
	CComboBox* pComboBox=(CComboBox*)GetDlgItem(IDC_COMBO1);
	CString s,s1;
	pComboBox->GetLBText(pComboBox->GetCurSel(),s);
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT7);
	pEdit->GetWindowText(s1);
	if(!m_addrbook.Search(s,s1))
	{
		AfxMessageBox("查询失败");
		return;
	}
	ShowData();
}

void CAddr_bookDlg::ShowData()
{
	m_list.DeleteAllItems();
	POSITION pos=m_addrbook.pList.GetHeadPosition();
	APeople *pPeople;
	int i=0;
	CString s;
	while(pos)
	{
		pPeople=(APeople*)m_addrbook.pList.GetNext(pos);
		s=pPeople->name;
		m_list.InsertItem(i,s,0);
		s=pPeople->tel;
		m_list.SetItemText(i,1,s);
		s=pPeople->mobile;
		m_list.SetItemText(i,2,s);
		s=pPeople->oicq;
		m_list.SetItemText(i,3,s);
		s=pPeople->email;
		m_list.SetItemText(i,4,s);
		s=pPeople->addr;
		m_list.SetItemText(i,5,s);
		m_list.SetItemData(i,i);
		i++;
	}
}

void CAddr_bookDlg::OnClickListMain(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	if(m_list.GetSelectedCount()<1)
		return;
	int n=m_list.GetSelectionMark();
	DWORD i=m_list.GetItemData(n);
	POSITION pos=m_addrbook.pList.GetHeadPosition();
	for(DWORD j=0;j<i;j++)
		m_addrbook.pList.GetNext(pos);
	APeople *pPeople=(APeople*)m_addrbook.pList.GetAt(pos);
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT_NAME);
	pEdit->SetWindowText(pPeople->name);
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_TEL);
	pEdit->SetWindowText(pPeople->tel);
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_MOBILE);
	pEdit->SetWindowText(pPeople->mobile);
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->SetWindowText(pPeople->oicq);
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->SetWindowText(pPeople->email);
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->SetWindowText(pPeople->addr);
	*pResult = 0;
}

void CAddr_bookDlg::OnButtonCloseDB() 
{
	// TODO: Add your control notification handler code here
	m_addrbook.CloseFile();
	ShowData();
	CEdit* pEdit=(CEdit*)GetDlgItem(IDC_EDIT_NAME);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_TEL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_MOBILE);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_OICQ);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_EMAIL);
	pEdit->SetWindowText("");
	pEdit=(CEdit*)GetDlgItem(IDC_EDIT_ADDR);
	pEdit->SetWindowText("");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -