📄 finddlg.cpp
字号:
// FindDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyAL.h"
#include "FindDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFindDlg dialog
CFindDlg::CFindDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFindDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CFindDlg)
m_nCondition = 0;
m_oleDate = COleDateTime::GetCurrentTime();
m_nField = 0;
m_nLocate = 0;
m_nLogic = -1;
m_strText = _T("");
//}}AFX_DATA_INIT
m_pView = NULL;
}
CFindDlg::CFindDlg(CMyALView* pView)
{
m_nCondition = 0;
m_oleDate = COleDateTime::GetCurrentTime();
m_nField = 0;
m_nLocate = 0;
m_nLogic = -1;
m_strText = _T("");
m_pView = pView;
}
void CFindDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFindDlg)
DDX_CBIndex(pDX, IDC_CONDITION, m_nCondition);
DDX_DateTimeCtrl(pDX, IDC_DATE, m_oleDate);
DDX_CBIndex(pDX, IDC_FIELD, m_nField);
DDX_CBIndex(pDX, IDC_LOCATE, m_nLocate);
DDX_CBIndex(pDX, IDC_LOGIC, m_nLogic);
DDX_Text(pDX, IDC_TEXT, m_strText);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFindDlg, CDialog)
//{{AFX_MSG_MAP(CFindDlg)
ON_CBN_SELENDOK(IDC_CONDITION, OnSelendokCondition)
ON_CBN_SELENDOK(IDC_LOCATE, OnSelendokLocate)
ON_CBN_SELENDOK(IDC_FIELD, OnSelendokField)
ON_BN_CLICKED(IDC_START, OnStart)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFindDlg message handlers
BOOL CFindDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CComboBox* pLogic = (CComboBox*)GetDlgItem(IDC_LOGIC);
CComboBox* pDate = (CComboBox*)GetDlgItem(IDC_DATE);
pLogic->ShowWindow(SW_HIDE);
pDate->ShowWindow(SW_HIDE);
OnSelendokLocate();
OnSelendokField();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CFindDlg::OnOK()
{
// CDialog::OnOK();
}
void CFindDlg::OnCancel()
{
// CDialog::OnCancel();
DestroyWindow();
}
void CFindDlg::PostNcDestroy()
{
CDialog::PostNcDestroy();
delete this;
}
void CFindDlg::OnSelendokLocate()
{
UpdateData(TRUE);
switch(m_nLocate)
{
case 0:
SelBaseInfo();
break;
case 1:
SetFamily();
break;
case 2:
SetUnit();
break;
case 3:
SetContact();
break;
case 4:
SetOther();
break;
case 5:
SetActive();
break;
case 6:
SetRemark();
break;
}
OnSelendokField();
}
void CFindDlg::OnSelendokField()
{
CComboBox* pCondition = (CComboBox*)GetDlgItem(IDC_CONDITION);
CComboBox* pLogic = (CComboBox*)GetDlgItem(IDC_LOGIC);
CComboBox* pDate = (CComboBox*)GetDlgItem(IDC_DATE);
CComboBox* pText = (CComboBox*)GetDlgItem(IDC_TEXT);
pDate->ShowWindow(SW_HIDE);
pLogic->ShowWindow(SW_HIDE);
pText->ShowWindow(SW_SHOW);
pCondition->ResetContent();
UpdateData(TRUE);
switch(m_nLocate)
{
case 0://基本资料
switch(m_nField)
{
case 0:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("小于"));
pCondition->AddString(_T("大于"));
break;
case 1:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 2:
pCondition->AddString(_T("等于"));
pDate->ShowWindow(SW_HIDE);
pLogic->ShowWindow(SW_SHOW);
pText->ShowWindow(SW_HIDE);
pLogic->ResetContent();
pLogic->AddString(_T(""));
pLogic->AddString("男");
pLogic->AddString("女");
pLogic->SetCurSel(0);
break;
case 3:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("小于"));
pCondition->AddString(_T("大于"));
pDate->ShowWindow(SW_SHOW);
pLogic->ShowWindow(SW_HIDE);
pText->ShowWindow(SW_HIDE);
break;
case 4:
pCondition->AddString(_T("等于"));
pDate->ShowWindow(SW_HIDE);
pLogic->ShowWindow(SW_SHOW);
pText->ShowWindow(SW_HIDE);
pLogic->ResetContent();
pLogic->AddString("阳历");
pLogic->AddString("农历");
pLogic->SetCurSel(0);
break;
case 5:
pCondition->AddString(_T("等于"));
pDate->ShowWindow(SW_HIDE);
pLogic->ShowWindow(SW_SHOW);
pText->ShowWindow(SW_HIDE);
pLogic->ResetContent();
pLogic->AddString("是");
pLogic->AddString("否");
pLogic->SetCurSel(0);
break;
case 6:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 7:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 8:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
}
pCondition->SetCurSel(0);
break;
case 1://家庭
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 2://单位
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 3://联系方法
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 4://其他
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 5://活动
switch(m_nField)
{
case 0:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 1:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
case 2:
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("小于"));
pCondition->AddString(_T("大于"));
pDate->ShowWindow(SW_SHOW);
pLogic->ShowWindow(SW_HIDE);
pText->ShowWindow(SW_HIDE);
break;
case 3:
pCondition->AddString(_T("等于"));
pDate->ShowWindow(SW_HIDE);
pLogic->ShowWindow(SW_SHOW);
pText->ShowWindow(SW_HIDE);
pLogic->ResetContent();
pLogic->AddString("是");
pLogic->AddString("否");
pLogic->SetCurSel(0);
break;
}
break;
case 6://备注
pCondition->AddString(_T("等于"));
pCondition->AddString(_T("含有"));
break;
}
pCondition->SetCurSel(0);
}
void CFindDlg::OnSelendokCondition()
{
}
void CFindDlg::SelBaseInfo()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("ID"));
pField->AddString(_T("姓名"));
pField->AddString(_T("性别"));
pField->AddString(_T("生日"));
pField->AddString(_T("历制"));
pField->AddString(_T("提醒"));
pField->AddString(_T("国家/地区"));
pField->AddString(_T("省份/自治区"));
pField->AddString(_T("城市"));
pField->SetCurSel(0);
}
void CFindDlg::SetFamily()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("邮政编码"));
pField->AddString(_T("国家/地区"));
pField->AddString(_T("省份/自治区"));
pField->AddString(_T("城市"));
pField->AddString(_T("街道地址"));
pField->AddString(_T("家庭成员"));
pField->AddString(_T("电话"));
pField->SetCurSel(0);
}
void CFindDlg::SetUnit()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("国家/地区"));
pField->AddString(_T("省份/自治区"));
pField->AddString(_T("城市"));
pField->AddString(_T("单位名称"));
pField->AddString(_T("部门"));
pField->AddString(_T("办公室"));
pField->AddString(_T("职位"));
pField->AddString(_T("街道地址"));
pField->AddString(_T("邮政编码"));
pField->AddString(_T("电话"));
pField->AddString(_T("传真"));
pField->AddString(_T("单位主页"));
pField->AddString(_T("电子邮件"));
pField->SetCurSel(0);
}
void CFindDlg::SetContact()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("邮政编码"));
pField->AddString(_T("国家/地区"));
pField->AddString(_T("省份/自治区"));
pField->AddString(_T("城市"));
pField->AddString(_T("街道地址"));
pField->AddString(_T("电话"));
pField->AddString(_T("传真"));
pField->AddString(_T("手机"));
pField->AddString(_T("电子邮件"));
pField->AddString(_T("MSN"));
pField->AddString(_T("QQ号码"));
pField->AddString(_T("ICQ号码"));
pField->SetCurSel(0);
}
void CFindDlg::SetOther()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("昵称"));
pField->AddString(_T("爱好"));
pField->AddString(_T("特长"));
pField->AddString(_T("配偶"));
pField->AddString(_T("个人主页"));
pField->SetCurSel(0);
}
void CFindDlg::SetActive()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("活动内容"));
pField->AddString(_T("活动类型"));
pField->AddString(_T("日期"));
pField->AddString(_T("提示"));
pField->SetCurSel(0);
}
void CFindDlg::SetRemark()
{
CComboBox* pField = (CComboBox*)GetDlgItem(IDC_FIELD);
pField->ResetContent();
pField->AddString(_T("备注内容"));
pField->SetCurSel(0);
}
void CFindDlg::OnStart()
{
UpdateData(TRUE);
m_pView->Search();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -