📄 bookcheckdlg.cpp
字号:
// BookCheckDlg.cpp : implementation file
//
#include "stdafx.h"
#include "library.h"
#include "BookCheckDlg.h"
#include "BookSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookCheckDlg dialog
CBookCheckDlg::CBookCheckDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBookCheckDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBookCheckDlg)
m_radio1 = 0;
m_radio2 = 0;
m_radio3 = 0;
m_bookauthor = _T("");
m_bookname = _T("");
m_id = _T("");
m_inds = _T("");
//}}AFX_DATA_INIT
}
void CBookCheckDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookCheckDlg)
DDX_Control(pDX, IDC_LIST1, m_ctrList);
DDX_Radio(pDX, IDC_RADIO1, m_radio1);
DDX_Radio(pDX, IDC_RADIO3, m_radio2);
DDX_Radio(pDX, IDC_RADIO5, m_radio3);
DDX_Text(pDX, IDC_BOOKAUTHOR, m_bookauthor);
DDX_Text(pDX, IDC_BOOKNAME, m_bookname);
DDX_Text(pDX, IDC_ID, m_id);
DDX_Text(pDX, IDC_INDS, m_inds);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookCheckDlg, CDialog)
//{{AFX_MSG_MAP(CBookCheckDlg)
ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
ON_BN_CLICKED(IDC_RADIO6, OnRadio6)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookCheckDlg message handlers
BOOL CBookCheckDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_ctrList.InsertColumn(0,"图书条码");
m_ctrList.InsertColumn(1,"isbn号");
m_ctrList.InsertColumn(2,"书名");
m_ctrList.InsertColumn(3,"作者");
m_ctrList.InsertColumn(4,"出版社");
m_ctrList.InsertColumn(5,"主题词");
m_ctrList.InsertColumn(6,"分类号");
m_ctrList.InsertColumn(7,"索引号");
m_ctrList.InsertColumn(8,"定价");
m_ctrList.InsertColumn(9,"系列书名");
m_ctrList.InsertColumn(10,"描述");
m_ctrList.InsertColumn(11,"出版区条码");
RECT rect;
m_ctrList.GetWindowRect(&rect);
int Width=rect.right-rect.left;
m_ctrList.SetColumnWidth(0,Width/12);
m_ctrList.SetColumnWidth(1,Width/12);
m_ctrList.SetColumnWidth(2,Width/12);
m_ctrList.SetColumnWidth(3,Width/12);
m_ctrList.SetColumnWidth(4,Width/12);
m_ctrList.SetColumnWidth(5,Width/12);
m_ctrList.SetColumnWidth(6,Width/12);
m_ctrList.SetColumnWidth(7,Width/12);
m_ctrList.SetColumnWidth(8,Width/12);
m_ctrList.SetColumnWidth(9,Width/12);
m_ctrList.SetColumnWidth(10,Width/12);
m_ctrList.SetColumnWidth(11,Width/12);
m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
GetDlgItem(IDC_BOOKNAME)->EnableWindow(false);
GetDlgItem(IDC_BOOKAUTHOR)->EnableWindow(false);
GetDlgItem(IDC_INDS)->EnableWindow(false);
m_brush.CreateSolidBrush(RGB(0, 255, 0)); // 生成一绿色刷子
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBookCheckDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
m_inds.TrimLeft();
m_inds.TrimRight();
m_id.TrimLeft();
m_id.TrimRight();
m_bookauthor.TrimLeft();
m_bookauthor.TrimRight();
m_bookname.TrimLeft();
m_bookname.TrimRight();
if(m_inds.IsEmpty()&&m_id.IsEmpty()&&m_bookauthor.IsEmpty()&&m_bookname.IsEmpty())
{
MessageBox("请正确填入查询数据!","图书查询");
return ;
}
if(!m_database.IsOpen())
{
//连接数据源
if(!m_database.OpenEx("DSN=MySQL;UID=sa;PWD=123;CDatabase::noOdbcDialog"))
{
MessageBox("连接数据库失败!","新书登记入库",MB_OK|MB_ICONINFORMATION);
return;
}
}
CBookSet *m_pset=new CBookSet(&m_database);
CString strSQL;
if(m_radio1 ==0)
{
if(m_radio2==0)
{
strSQL.Format("select * from BOOK where Bid='%s'",m_id);
}
else
{
strSQL.Format("select * from BOOK where Binds='%s'",m_inds);
}
}
else
{
if(m_radio3==0)
{
strSQL.Format("select * from BOOK where Bname='%s'",m_bookname);
}
else
{
strSQL.Format("select * from BOOK where Bauthor='%s'",m_bookauthor);
}
}
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
while(!m_pset->IsEOF())
{
m_pset->MoveNext();
m_pset->GetRecordCount();
}
if(m_pset->GetRecordCount()==0)
{
MessageBox("本馆没有这本书!","图书查询");
m_pset->Close();
m_database.Close();
return;
}
//处理表格
m_ctrList.DeleteAllItems();
m_pset->MoveFirst();
char buf[50]={'\0'};
CDBVariant var;
int i=0;
CString strTemp;
while(!m_pset->IsEOF())
{
m_ctrList.InsertItem(i,buf);
strTemp=m_pset->m_Bid;
m_ctrList.SetItemText(i,0,strTemp);
strTemp=m_pset->m_Bisbn;
m_ctrList.SetItemText(i,1,strTemp);
strTemp=m_pset->m_Bname;
m_ctrList.SetItemText(i,2,strTemp);
strTemp=m_pset->m_Bauthor;
m_ctrList.SetItemText(i,3,strTemp);
strTemp=m_pset->m_Bpress;
m_ctrList.SetItemText(i,4,strTemp);
strTemp=m_pset->m_Btheme;
m_ctrList.SetItemText(i,5,strTemp);
strTemp=m_pset->m_Bclassify;
m_ctrList.SetItemText(i,6,strTemp);
strTemp=m_pset->m_Binds;
m_ctrList.SetItemText(i,7,strTemp);
strTemp=m_pset->m_Bprice;
m_ctrList.SetItemText(i,8,strTemp);
strTemp=m_pset->m_Bseriesname;
m_ctrList.SetItemText(i,9,strTemp);
strTemp=m_pset->m_Bdescribe;
m_ctrList.SetItemText(i,10,strTemp);
strTemp=m_pset->m_Btiaoma;
m_ctrList.SetItemText(i,11,strTemp);
i++;
m_pset->MoveNext();
UpdateData(FALSE);
}
m_pset->Close();
m_database.Close();
}
void CBookCheckDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
m_radio1=0;
GetDlgItem(IDC_BOOKNAME)->EnableWindow(false);
GetDlgItem(IDC_BOOKAUTHOR)->EnableWindow(false);
GetDlgItem(IDC_ID)->EnableWindow(true);
GetDlgItem(IDC_INDS)->EnableWindow(true);
}
void CBookCheckDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
m_radio1=1;
GetDlgItem(IDC_BOOKNAME)->EnableWindow(true);
GetDlgItem(IDC_BOOKAUTHOR)->EnableWindow(true);
GetDlgItem(IDC_ID)->EnableWindow(false);
GetDlgItem(IDC_INDS)->EnableWindow(false);
}
void CBookCheckDlg::OnRadio3()
{
// TODO: Add your control notification handler code here
m_radio2=0;
GetDlgItem(IDC_ID)->EnableWindow(true);
GetDlgItem(IDC_INDS)->EnableWindow(false);
}
void CBookCheckDlg::OnRadio4()
{
// TODO: Add your control notification handler code here
m_radio2=1;
GetDlgItem(IDC_ID)->EnableWindow(false);
GetDlgItem(IDC_INDS)->EnableWindow(true);
}
void CBookCheckDlg::OnRadio5()
{
// TODO: Add your control notification handler code here
m_radio3=0;
GetDlgItem(IDC_BOOKNAME)->EnableWindow(true);
GetDlgItem(IDC_BOOKAUTHOR)->EnableWindow(false);
}
void CBookCheckDlg::OnRadio6()
{
// TODO: Add your control notification handler code here
m_radio3=1;
GetDlgItem(IDC_BOOKNAME)->EnableWindow(false);
GetDlgItem(IDC_BOOKAUTHOR)->EnableWindow(true);
}
void CBookCheckDlg::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
HBRUSH CBookCheckDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor ==CTLCOLOR_DLG)
return m_brush; //返加绿色刷子
if(nCtlColor==CTLCOLOR_EDIT)
{
pDC->SetTextColor(RGB(0,0,255));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkColor(RGB(0, 255, 0));
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
}
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC->SetTextColor(RGB(0,0,255));
//pDC->SetBkMode(TRANSPARENT);
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -