?? 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 + -