📄 proppagesearchbookdlg.cpp
字号:
// PropPageSearchBookDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "myBook.h"
#include "PropPageSearchBookDlg.h"
#include ".\proppagesearchbookdlg.h"
#include "booklistdlg.h"
// CPropPageSearchBookDlg 对话框
IMPLEMENT_DYNAMIC(CPropPageSearchBookDlg, CPropertyPage)
CPropPageSearchBookDlg::CPropPageSearchBookDlg()
: CPropertyPage(CPropPageSearchBookDlg::IDD)
{
for (int nIndex = 0; nIndex < 4; ++nIndex)
{
m_saValue[0] = _T("");
}
}
CPropPageSearchBookDlg::~CPropPageSearchBookDlg()
{
}
void CPropPageSearchBookDlg::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_saValue[0]);
DDX_Text(pDX, IDC_EDIT2, m_saValue[1]);
DDX_Text(pDX, IDC_EDIT3, m_saValue[2]);
DDX_Text(pDX, IDC_EDIT4, m_saValue[3]);
}
BEGIN_MESSAGE_MAP(CPropPageSearchBookDlg, CPropertyPage)
ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnBnClickedButtonSearch)
ON_BN_CLICKED(IDC_BUTTON_RETURN, OnBnClickedButtonReturn)
ON_BN_CLICKED(IDC_BUTTON_EXIT, OnBnClickedButtonExit)
ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnBnClickedButtonClear)
END_MESSAGE_MAP()
// CPropPageSearchBookDlg 消息处理程序
BOOL CPropPageSearchBookDlg::OnInitDialog()
{
CPropertyPage::OnInitDialog();
for ( int nIndex = 0; nIndex < sizeof(g_arrIDArray)/sizeof(g_arrIDArray[0]); ++nIndex )
{
static_cast<CComboBox*>( GetDlgItem( g_arrIDArray[nIndex] ) )->SetCurSel( 0 );
}
CWnd *pCtrl = NULL;
CWnd *pParent = GetParent();
ASSERT( pParent != NULL );
const int CTRLIDARRAY[4] = {
IDOK,
IDCANCEL,
ID_APPLY_NOW,
IDHELP };
for (int nIndex = 0; nIndex < sizeof(CTRLIDARRAY)/sizeof(CTRLIDARRAY[0]); ++nIndex)
{
pCtrl = pParent->GetDlgItem( CTRLIDARRAY[nIndex] );
if ( pCtrl != NULL )
{
pCtrl->ShowWindow( SW_HIDE );
}
}
return TRUE;
}
void CPropPageSearchBookDlg::OnBnClickedButtonSearch()
{
UpdateData( TRUE );
CString strSQL;
CString strMatch = _T("1=1");
if ( ! m_saValue[0].IsEmpty() )
{
strSQL.Format( _T(" AND %s LIKE '%%%s%%'"), g_saText[0], m_saValue[0] );
strMatch += strSQL;
}
if ( ! m_saValue[1].IsEmpty() )
{
strSQL.Format( _T(" AND %s LIKE '%%%s%%'"), g_saText[1], m_saValue[1] );
strMatch += strSQL;
}
if ( ! m_saValue[2].IsEmpty() )
{
strSQL.Format( _T(" AND %s = '%s'"), g_saText[2], m_saValue[2] );
strMatch += strSQL;
}
if ( ! m_saValue[3].IsEmpty() )
{
strSQL.Format( _T(" AND %s = %s"), g_saText[3], m_saValue[3] );
strMatch += strSQL;
}
strSQL.Format( _T("SELECT BookID, BookName, BookPublisher, BookStatus FROM my_Book WHERE %s"), strMatch );
TRACE0( strSQL );
try
{
CDatabase db;
db.OpenEx(_T("DSN=myLib;UID=sa;PWD='';"), CDatabase::noOdbcDialog);
CRecordset rset(&db);
rset.Open(CRecordset::dynaset,strSQL);
CBookListDlg dlg;
dlg.SetRecordSet( &rset );
dlg.DoModal();
rset.Close();
db.Close();
}
catch ( CDBException *e )
{
e->ReportError();
e->Delete();
}
}
void CPropPageSearchBookDlg::OnBnClickedButtonReturn()
{
CWnd *pParent = GetParent();
ASSERT( pParent != NULL );
static_cast<CPropertySheet*>(pParent)->PressButton( PSBTN_CANCEL );
}
void CPropPageSearchBookDlg::OnBnClickedButtonExit()
{
CWnd *pParent = GetParent();
ASSERT( pParent != NULL );
CWnd *pParentParent = pParent->GetParent();
static_cast<CPropertySheet*>(pParent)->PressButton( PSBTN_CANCEL );
if (pParentParent != NULL)
{
pParentParent->PostMessage( WM_CLOSE, 0, 0L );
}
}
void CPropPageSearchBookDlg::OnBnClickedButtonClear()
{
for (int nIndex = 0; nIndex < 4; ++nIndex)
{
m_saValue[0] = _T("");
}
for ( int nIndex = 0; nIndex < sizeof(g_arrIDArray)/sizeof(g_arrIDArray[0]); ++nIndex )
{
static_cast<CComboBox*>( GetDlgItem( g_arrIDArray[nIndex] ) )->SetCurSel( 0 );
}
UpdateData( FALSE );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -