📄 addr_bookdlg.cpp
字号:
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 + -