📄 search.cpp
字号:
// search.cpp : implementation file
//
#include "stdafx.h"
#include "ppjlb.h"
#include "search.h"
#include "MainFun.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define IDS_WEBADDR _T("http://www.baidu.com")
#define IDS_GOOGLE _T("http://www.google.com.cn")
#define IDS_CSDN _T("http://www.csdn.net")
#define IDS_WHHIT _T("http://www.whhit.com")
/////////////////////////////////////////////////////////////////////////////
// Csearch dialog
//CBrush brush;
int i=0; //为内联函数提供递增
inline void Csearch::Show() //定义内联函数完成指定数据组的输出
{
CString sage;
m_srlist.InsertItem(i,cm.m_memnum,0);
m_srlist.SetItemText(i,1,cm.m_memnam);
sage.Format("%d",(int)cm.m_memage);
m_srlist.SetItemText(i,2,sage);
sage.Empty();
m_srlist.SetItemText(i,3,cm.m_memadd);
m_srlist.SetItemText(i,4,cm.m_memtel);
m_srlist.SetItemText(i,5,cm.m_memqq);
m_srlist.SetItemText(i,6,cm.m_memem);
m_srlist.SetItemText(i,7,cm.m_membio);
}
Csearch::Csearch(CWnd* pParent /*=NULL*/)
: CDialog(Csearch::IDD, pParent)
{
//{{AFX_DATA_INIT(Csearch)
//}}AFX_DATA_INIT
}
void Csearch::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);//使CButtonST变量与//相应控件关联
//{{AFX_DATA_MAP(Csearch)
DDX_Control(pDX, IDC_SEARCHLIST, m_srlist);
DDX_Control(pDX, IDC_EDIT1, m_searchedit);
DDX_Control(pDX, IDC_COMBO1, m_searchcombo);
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_HOMEPAGELINK, m_HomePageLink);
DDX_Control(pDX, IDC_STATIC1, m_google);
DDX_Control(pDX, IDC_STATIC2, m_csdn);
DDX_Control(pDX, IDC_STATIC3, m_whhit);
DDX_Control(pDX,IDOK,m_search);
DDX_Control(pDX,IDCANCEL,m_quit);
}
BEGIN_MESSAGE_MAP(Csearch, CDialog)
//{{AFX_MSG_MAP(Csearch)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csearch message handlers
BOOL Csearch::OnInitDialog() //查找对话框类初始化函数
{
CDialog::OnInitDialog();
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);//加载背景图并显示
brush.CreatePatternBrush(&bmp);
m_search.SetIcon(IDI_ICON16);
m_quit.SetIcon(IDI_ICON24);
// 向组合框中添加选项
m_searchcombo.InsertString(0,"编号");
m_searchcombo.InsertString(1,"姓名");
m_searchcombo.InsertString(2,"年龄");
m_searchcombo.InsertString(3,"家庭住址");
m_searchcombo.InsertString(4,"电话");
m_searchcombo.InsertString(5,"QQ");
m_searchcombo.InsertString(6,"E-mail");
m_searchcombo.InsertString(7,"个人简介");
m_searchcombo.SetCurSel(0);//默认选项为“编号”
//为列表框选择相应模式并为其编号
m_srlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_srlist.InsertColumn(0,_T("编号"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_srlist.InsertColumn(1,_T("姓名"));
m_srlist.InsertColumn(2,_T("年龄"));
m_srlist.InsertColumn(3,_T("家庭住址"));
m_srlist.InsertColumn(4,_T("电话"));
m_srlist.InsertColumn(5,_T("QQ"));
m_srlist.InsertColumn(6,_T("Email"));
m_srlist.InsertColumn(7,_T("个人简历"));
//为列表项分配宽度
int j;
CRect rect;
m_srlist.GetWindowRect(&rect);
double x=rect.right-rect.left;
for(j=0;j<4;j++)
{
m_srlist.SetColumnWidth(j ,(int)(x/12));
}
for(j=4;j<7;j++)
{
m_srlist.SetColumnWidth(j ,(int)(x/9));
}
m_srlist.SetColumnWidth(7,(int)(x/3));
m_HomePageLink.SetURL(IDS_WEBADDR);
m_HomePageLink.SetUnderline(CHyperLink::ulAlways);
m_google.SetURL(IDS_GOOGLE);
m_google.SetUnderline(CHyperLink::ulAlways);
m_csdn.SetURL(IDS_CSDN);
m_csdn.SetUnderline(CHyperLink::ulAlways);
m_whhit.SetURL(IDS_WHHIT);
m_whhit.SetUnderline(CHyperLink::ulAlways);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
inline void Csearch::Show() //定义内联函数完成指定数据组的输出
{
CString sage;
m_srlist.InsertItem(i,cm.m_memnum,0);
m_srlist.SetItemText(i,1,cm.m_memnam);
sage.Format("%d",(int)cm.m_memage);
m_srlist.SetItemText(i,2,sage);
sage.Empty();
m_srlist.SetItemText(i,3,cm.m_memadd);
m_srlist.SetItemText(i,4,cm.m_memtel);
m_srlist.SetItemText(i,5,cm.m_memqq);
m_srlist.SetItemText(i,6,cm.m_memem);
m_srlist.SetItemText(i,7,cm.m_membio);
}
void Csearch::OnOK() //“查找”按钮消息函数
{
// TODO: Add extra validation here
CString cont;
bool tag=true;
m_searchedit.GetWindowText(cont);
if(cont=="")
{
MessageBox("请输入查找内容","提示",MB_ICONINFORMATION);
m_searchedit.SetFocus();
}
else{
int x=m_searchcombo.GetCurSel();//取得组合框的索引值
m_srlist.DeleteAllItems();
cm.Open(); //打开数据表member
cm.MoveFirst();
switch(x) //分支进行查询
{
case 0: //选择编号
while(!cm.IsEOF())
{
if(cm.m_memnum==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 1: //选择姓名
while(!cm.IsEOF())
{
if(cm.m_memnam==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 2: //选择年龄
while(!cm.IsEOF())
{
if(cm.m_memage==atoi(cont))
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 3: //选择家庭住址
while(!cm.IsEOF())
{
if(cm.m_memadd==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 4: //选择电话
while(!cm.IsEOF())
{
if(cm.m_memtel==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 5: //选择QQ
while(!cm.IsEOF())
{
if(cm.m_memqq==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 6: //选择Email
while(!cm.IsEOF())
{
if(cm.m_memem==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
case 7: //选择个人简历
while(!cm.IsEOF())
{
if(cm.m_membio==cont)
{
Show();//调用内联函数显示数据
tag=false;
}
cm.MoveNext();
}
break;
}
cm.Close();
if(tag==true)
{
MessageBox("未找到此信息!注意空格的有无","提示",MB_ICONINFORMATION);
}
m_searchedit.SetFocus();
m_searchedit.SetSel(0,-1);
}
}
HBRUSH Csearch::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetBkMode(TRANSPARENT);
// TODO: Change any attributes of the DC here
return brush;
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -