📄 adduser.cpp
字号:
// AddUser.cpp : implementation file
//
#include "stdafx.h"
#include "通信录.h"
#include "AddUser.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAddUser dialog
CAddUser::CAddUser(CWnd* pParent /*=NULL*/)
: CDialog(CAddUser::IDD, pParent)
{
//{{AFX_DATA_INIT(CAddUser)
m_BIRTHDAY = _T("");
m_CALL = _T("");
m_EAMIL = _T("");
m_HOMEADDRESS = _T("");
m_HOMEPHONE = _T("");
m_MOBILEPHONE = _T("");
m_NAME = _T("");
m_QQNUMBER = _T("");
m_WORKINGADDRESS = _T("");
m_WORKINGTELPHONE = _T("");
m_BACK = _T("");
list=NULL;
commonFind="";
for(int i=0;i<100;i++)
iResult[i]=-1;
//}}AFX_DATA_INIT
}
void CAddUser::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAddUser)
DDX_Control(pDX, IDOK, m_Ok);
DDX_Control(pDX, IDCANCEL, m_Cancel);
DDX_Text(pDX, IDC_BIRTHDAY, m_BIRTHDAY);
DDV_MaxChars(pDX, m_BIRTHDAY, 10);
DDX_Text(pDX, IDC_CALL, m_CALL);
DDX_Text(pDX, IDC_EMAIL, m_EAMIL);
DDX_Text(pDX, IDC_HOMEADDRESS, m_HOMEADDRESS);
DDX_Text(pDX, IDC_HOMEPHONE, m_HOMEPHONE);
DDX_Text(pDX, IDC_MOBILEPHONE, m_MOBILEPHONE);
DDX_Text(pDX, IDC_NAME, m_NAME);
DDX_Text(pDX, IDC_QQNUMBER, m_QQNUMBER);
DDX_Text(pDX, IDC_WORKINGADDRESS, m_WORKINGADDRESS);
DDX_Text(pDX, IDC_WORKTELEPHONE, m_WORKINGTELPHONE);
DDX_Text(pDX, IDC_BACK, m_BACK);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAddUser, CDialog)
//{{AFX_MSG_MAP(CAddUser)
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_PREUSER, OnPreuser)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAddUser message handlers
BOOL CAddUser::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Ok.SetIcon(IDI_OK);
m_Cancel.SetIcon(IDI_CANCEL);
CString sum;
switch(operate){
case ADD:
(CButton*)CWnd::GetDlgItem(IDC_FIND)->ShowWindow(SW_HIDE);
(CButton*)CWnd::GetDlgItem(IDC_PREUSER)->ShowWindow(SW_HIDE);
break;
case MODI:
(CButton*)CWnd::GetDlgItem(IDC_FIND)->ShowWindow(SW_HIDE);
(CButton*)CWnd::GetDlgItem(IDC_PREUSER)->ShowWindow(SW_HIDE);
sum.Format("修改[%s]的通信录",m_NAME),
CWnd::SetWindowText(sum);
CWnd::SetDlgItemText(IDOK,"确认修改");
break;
case LOOK:
(CButton*)CWnd::GetDlgItem(IDC_FIND)->ShowWindow(SW_HIDE);
(CButton*)CWnd::GetDlgItem(IDC_PREUSER)->ShowWindow(SW_HIDE);
(CButton*)CWnd::GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);
sum.Format("查看朋友[%s]的通信录",m_NAME),
CWnd::SetWindowText(sum);
CWnd::SetDlgItemText(IDOK,"退出");
break;
case FIND:
sum.Format("共找到%d个朋友",iSite);
CWnd::SetWindowText(sum);
CWnd::SetDlgItemText(IDOK,"退出");
(CButton*)CWnd::GetDlgItem(IDCANCEL)->ShowWindow(SW_HIDE);
if(iResult[0]==-1||iResult[1]==-1)
((CButton*)CWnd::GetDlgItem(IDC_FIND))->EnableWindow(FALSE);
((CButton*)CWnd::GetDlgItem(IDC_PREUSER))->EnableWindow(FALSE);
break;
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAddUser::FindCount(CListCtrl *tempList,int iType,CString tempFind)
{
list=tempList;
commonFind=tempFind;
iSite=0;
switch(iType){
case FINDNAME:
FindName();
break;
case FINDCALL:
FindCall();
break;
case FINDADDR:
FindAddress();
break;
case FINDBIRT:
FindBirthday();
break;
}
i=0;
FindNext();
}
void CAddUser::FindName()
{
int iLoop=list->GetItemCount()-1;
CString name;
for(;iLoop>=0;iLoop--){
name=list->GetItemText(iLoop,0);
if(name.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
}
}
void CAddUser::FindCall()
{
int iLoop=list->GetItemCount()-1;
CString name;
for(;iLoop>=0;iLoop--){
name=list->GetItemText(iLoop,2);
if(name.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
else{
name=list->GetItemText(iLoop,3);
if(name.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
else {
name=list->GetItemText(iLoop,4);
if(name.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
else{
name=list->GetItemText(iLoop,5);
if(name.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
}
}
}
}
}
void CAddUser::FindAddress()
{
int iLoop=list->GetItemCount()-1;
CString address;
for(;iLoop>=0;iLoop--){
address=list->GetItemText(iLoop,8);
if(address.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
else{
address=list->GetItemText(iLoop,9);
if(address.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
}
}
}
void CAddUser::FindBirthday()
{
int iLoop=list->GetItemCount()-1;
CString birthday;
for(;iLoop>=0;iLoop--){
birthday=list->GetItemText(iLoop,1);
if(birthday.Find(commonFind)!=-1)
iResult[iSite++]=iLoop;
}
}
void CAddUser::FindNext()
{
if(iResult[i]!=-1){
m_NAME=list->GetItemText(iResult[i],0);
m_BIRTHDAY=list->GetItemText(iResult[i],1);
m_HOMEPHONE=list->GetItemText(iResult[i],2);
m_WORKINGTELPHONE=list->GetItemText(iResult[i],3);
m_MOBILEPHONE=list->GetItemText(iResult[i],4);
m_CALL=list->GetItemText(iResult[i],5);
m_QQNUMBER=list->GetItemText(iResult[i],6);
m_EAMIL=list->GetItemText(iResult[i],7);
m_HOMEADDRESS=list->GetItemText(iResult[i],8);
m_WORKINGADDRESS=list->GetItemText(iResult[i],9);
m_BACK=list->GetItemText(iResult[i],10);
if(i>0)UpdateData(FALSE);
}
else m_BACK="对不起你没有此朋友。是不是输入有误?";
if(iResult[i+1]==-1&&i>=1)
((CButton*)CWnd::GetDlgItem(IDC_FIND))->EnableWindow(FALSE);
}
void CAddUser::OnFind()
{
((CButton*)CWnd::GetDlgItem(IDC_PREUSER))->EnableWindow(TRUE);
i++;
FindNext();
}
void CAddUser::OnPreuser()
{
i--;
((CButton*)CWnd::GetDlgItem(IDC_FIND))->EnableWindow(TRUE);
FindPre();
}
void CAddUser::FindPre()
{
m_NAME=list->GetItemText(iResult[i],0);
m_BIRTHDAY=list->GetItemText(iResult[i],1);
m_HOMEPHONE=list->GetItemText(iResult[i],2);
m_WORKINGTELPHONE=list->GetItemText(iResult[i],3);
m_MOBILEPHONE=list->GetItemText(iResult[i],4);
m_CALL=list->GetItemText(iResult[i],5);
m_QQNUMBER=list->GetItemText(iResult[i],6);
m_EAMIL=list->GetItemText(iResult[i],7);
m_HOMEADDRESS=list->GetItemText(iResult[i],8);
m_WORKINGADDRESS=list->GetItemText(iResult[i],9);
m_BACK=list->GetItemText(iResult[i],10);
UpdateData(FALSE);
if(i==0)
((CButton*)CWnd::GetDlgItem(IDC_PREUSER))->EnableWindow(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -