📄 bookadddlg.cpp
字号:
// BookAddDlg.cpp : implementation file
//
#include "stdafx.h"
#include "library.h"
#include "BookAddDlg.h"
#include "BookSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookAddDlg dialog
CBookAddDlg::CBookAddDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBookAddDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBookAddDlg)
m_isbn = _T("");
m_author = _T("");
m_classify = _T("");
m_describe = _T("");
m_name = _T("");
m_press = _T("");
m_price = _T("");
m_seriesname = _T("");
m_theme = _T("");
m_id = _T("");
m_inds = _T("");
m_tiaoma = _T("");
//}}AFX_DATA_INIT
m_brush.CreateSolidBrush(RGB(0, 255, 0)); // 生成一绿色刷子
}
void CBookAddDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookAddDlg)
DDX_Control(pDX, IDC_LIST1, m_ctrList);
DDX_Text(pDX, IDC_ISBN, m_isbn);
DDX_Text(pDX, IDC_AUTHOR, m_author);
DDX_Text(pDX, IDC_CLASSIFY, m_classify);
DDX_Text(pDX, IDC_DESCRIBE, m_describe);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_PRESS, m_press);
DDX_Text(pDX, IDC_PRICE, m_price);
DDX_Text(pDX, IDC_SERIESNAME, m_seriesname);
DDX_Text(pDX, IDC_THEME, m_theme);
DDX_Text(pDX, IDC_ID, m_id);
DDX_Text(pDX, IDC_INDS, m_inds);
DDX_Text(pDX, IDC_TIAOMA, m_tiaoma);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookAddDlg, CDialog)
//{{AFX_MSG_MAP(CBookAddDlg)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookAddDlg message handlers
BOOL CBookAddDlg::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);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBookAddDlg::OnAdd()
{
// TODO: Add your control notification handler code here
UpdateData();
m_id.TrimRight();
m_isbn.TrimRight();
m_name.TrimRight();
m_author.TrimRight();
m_press.TrimRight();
m_theme.TrimRight();
m_classify.TrimRight();
m_inds.TrimRight();
m_price.TrimRight();
m_seriesname.TrimRight();
m_describe.TrimRight();
m_tiaoma.TrimRight();
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;
strSQL.Format("select * from BOOK where Bid='%s'",m_id);
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
//若库中有该图书条码记录
if(m_pset->GetRecordCount()!=0)
{
MessageBox("库中已有该图书条码记录,请核对!","新书登记入库",MB_OK|MB_ICONINFORMATION);
m_pset->Close();
return;
}
else
{
m_pset->Close();
if(m_id==""||m_isbn==""||m_author==""||m_classify==""||m_describe==""||m_name==""||m_press==""
||m_price==""||m_seriesname==""||m_theme==""||m_inds== ""||m_tiaoma=="")
{
MessageBox("请正确填写要求的数据","新书入库登记");
return;
}
strSQL.Format("select * from BOOK");
m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
m_pset->AddNew();
m_pset->SetFieldNull(&(m_pset->m_Bid),FALSE);
m_pset->m_Bid=m_id;
m_pset->SetFieldNull(&(m_pset->m_Bisbn),FALSE);
m_pset->m_Bisbn=m_isbn;
m_pset->SetFieldNull(&(m_pset->m_Bname),FALSE);
m_pset->m_Bname=m_name;
m_pset->SetFieldNull(&(m_pset->m_Bauthor),FALSE);
m_pset->m_Bauthor=m_author;
m_pset->SetFieldNull(&(m_pset->m_Bpress),FALSE);
m_pset->m_Bpress=m_press;
m_pset->SetFieldNull(&(m_pset->m_Btheme),FALSE);
m_pset->m_Btheme=m_theme;
m_pset->SetFieldNull(&(m_pset->m_Bclassify),FALSE);
m_pset->m_Bclassify=m_classify;
m_pset->SetFieldNull(&(m_pset->m_Binds),FALSE);
m_pset->m_Binds=m_inds;
m_pset->SetFieldNull(&(m_pset->m_Bprice),FALSE);
m_pset->m_Bprice=m_price;
m_pset->SetFieldNull(&(m_pset->m_Bseriesname),FALSE);
m_pset->m_Bseriesname=m_seriesname;
m_pset->SetFieldNull(&(m_pset->m_Bdescribe),FALSE);
m_pset->m_Bdescribe=m_describe;
m_pset->SetFieldNull(&(m_pset->m_Btiaoma),FALSE);
m_pset->m_Btiaoma=m_tiaoma;
m_pset->Update();
m_pset->Requery();
m_pset->Close();
m_database.Close();
MessageBox("Adding new books successfully!","新书入库登记");
OnButtonNewBooks() ;
m_id.Empty();
m_isbn.Empty();
m_name.Empty();
m_press.Empty();
m_theme.Empty();
m_author.Empty();
m_classify.Empty();
m_inds.Empty();
m_price.Empty();
m_seriesname.Empty();
m_describe.Empty();
m_tiaoma.Empty();
UpdateData(FALSE);
return;
}
}
//--------list ctrl 增加 当前记录项-------------
void CBookAddDlg::OnButtonNewBooks()
{
UpdateData();
char buf[50];
static int i=0;
CString strTemp;
// 列表控件插入index
m_ctrList.InsertItem(i,buf);
m_ctrList.SetItemText(i,0,m_id);
m_ctrList.SetItemText(i,1,m_isbn);
m_ctrList.SetItemText(i,2,m_name);
m_ctrList.SetItemText(i,3,m_author);
m_ctrList.SetItemText(i,4,m_press);
m_ctrList.SetItemText(i,5,m_theme);
m_ctrList.SetItemText(i,6,m_classify);
m_ctrList.SetItemText(i,7,m_inds);
m_ctrList.SetItemText(i,8,m_price);
m_ctrList.SetItemText(i,9,m_seriesname);
m_ctrList.SetItemText(i,10,m_describe);
m_ctrList.SetItemText(i,11,m_tiaoma);
i++;
UpdateData(FALSE);
}
void CBookAddDlg::OnCancel()
{
// TODO: Add extra cleanup here
if(m_database.IsOpen())
m_database.Close();
CDialog::OnCancel();
}
HBRUSH CBookAddDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
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));
}
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC->SetTextColor(RGB(0,0,255));
//pDC->SetBkMode(TRANSPARENT);
}
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -