DialogRecord.cpp
上传用户:xiaoke98
上传日期:2014-06-29
资源大小:5718k
文件大小:5k
- // DialogRecord.cpp : implementation file
- //
- #include "stdafx.h"
- #include "HomeFinanceManager.h"
- #include "DialogRecord.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CDialogRecord dialog
- CDialogRecord::CDialogRecord(CWnd* pParent /*=NULL*/)
- : CDialog(CDialogRecord::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CDialogRecord)
- m_strUser = _T("");
- m_strClass = _T("");
- m_timeRecord = 0;
- m_strID = _T("");
- m_strRemark = _T("");
- m_strSum = _T("");
- //}}AFX_DATA_INIT
- m_bIsMoneyIn = false;
- }
- void CDialogRecord::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CDialogRecord)
- DDX_Control(pDX, IDC_UPDATERECORD, m_btnUpdateRecord);
- DDX_Control(pDX, IDC_DELRECORD, m_btnDelRecord);
- DDX_Text(pDX, IDC_OPERATOR, m_strUser);
- DDX_CBString(pDX, IDC_RECORD_CLASS, m_strClass);
- DDX_DateTimeCtrl(pDX, IDC_RECORD_DATE, m_timeRecord);
- DDX_Text(pDX, IDC_RECORD_ID, m_strID);
- DDX_Text(pDX, IDC_RECORD_REMARK, m_strRemark);
- DDX_Text(pDX, IDC_RECORD_SUM, m_strSum);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CDialogRecord, CDialog)
- //{{AFX_MSG_MAP(CDialogRecord)
- ON_BN_CLICKED(IDC_DELRECORD, OnDelrecord)
- ON_BN_CLICKED(IDC_UPDATERECORD, OnUpdaterecord)
- ON_WM_ERASEBKGND()
- ON_WM_CTLCOLOR()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CDialogRecord message handlers
- BOOL CDialogRecord::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_RECORD_CLASS);
- pComboBox->Clear();
- for(int i = 0; i < m_ClassInfo.m_iClassNum; i++)
- {
- pComboBox->InsertString(-1, m_ClassInfo.m_Classes[i]);
- }
-
- if(m_bIsMoneyIn)
- {
- SetWindowText("收入记录窗口");
- }
- else
- {
- SetWindowText("支出记录窗口");
- }
-
- return TRUE;
- }
- //---------------------------------------------------------------------------
- void CDialogRecord::setRecordInfo(char* strID,
- char* strSum,
- char* strOperator,
- char* strClass,
- char* strDate,
- char* strRemark,
- CSysDataStruct::CClassInfo& ClassInfo)
- {
- m_strClass = CString(strClass);
- m_strID = CString(strID);
- m_strUser= CString(strOperator);
- m_strRemark = CString(strRemark);
- m_strSum = CString(strSum);
-
- int iYear, iMonth, iDay;
- char strTemp[100];
- strcpy(strTemp, strDate);
- char* pChar = strTemp;
- while((*pChar++) != '-') {};
- *(--pChar) = ' ';
- iYear = atoi(strDate);
-
- char* pcMonth = ++pChar;
- while((*pChar++) != '-') {};
- *(--pChar) = ' ';
- iMonth = atoi(pcMonth);
-
- char* pcDay = ++pChar;
- iDay = atoi(pcDay);
- pChar = 0;
-
- CTime TempTime(iYear, iMonth, iDay, 0, 0, 0);
- m_timeRecord = TempTime;
-
- m_ClassInfo.m_iClassNum = ClassInfo.m_iClassNum;
- for(int i = 0; i < m_ClassInfo.m_iClassNum; i++)
- {
- m_ClassInfo.m_Classes[i] = ClassInfo.m_Classes[i];
- }
-
- }
- //---------------------------------------------------------------------------
- void CDialogRecord::IsMoneyIn(bool bValue)
- {
- m_bIsMoneyIn = bValue;
- }
- //---------------------------------------------------------------------------
- void CDialogRecord::OnDelrecord()
- {
- // TODO: Add your control notification handler code here
- UpdateData(FALSE);
- if(m_bIsMoneyIn)
- {
- int iID = atoi(m_strID);
- gDBOperator.DeleteFinanceIn(iID);
- }
- else
- {
- int iID = atoi(m_strID);
- gDBOperator.DeleteFinanceOut(iID);
- }
- }
- //---------------------------------------------------------------------------
- void CDialogRecord::OnUpdaterecord()
- {
- // TODO: Add your control notification handler code here
- this->UpdateData(TRUE);
- CString strDate;
- int iYear = m_timeRecord.GetYear();
- int iMonth = m_timeRecord.GetMonth();
- int iDay = m_timeRecord.GetDay();
-
- int iID = atoi(m_strID.GetBuffer(0));
-
- strDate.Format("%d-%d-%d", iYear, iMonth, iDay);
- gDBOperator.UpdateRecord(iID, m_strSum, m_strClass, strDate, m_strRemark, !m_bIsMoneyIn);
-
- }
- //---------------------------------------------------------------------------
- BOOL CDialogRecord::OnEraseBkgnd( CDC* pDC )
- {
- RECT rcClient;
- this->GetClientRect(&rcClient);
- HBRUSH hOldBrush;
- HBRUSH hBrush = ::CreateSolidBrush(RGB(213, 247, 209));
- hOldBrush = (HBRUSH)pDC->SelectObject(hBrush);
- pDC->Rectangle(&rcClient);
- pDC->SelectObject(hOldBrush);
-
- ::DeleteObject(hBrush);
- return TRUE;
- }
- //---------------------------------------------------------------------------
- HBRUSH CDialogRecord::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- //改变控件的颜色
- if(nCtlColor == CTLCOLOR_STATIC)
- {
- pDC->SetBkMode(TRANSPARENT);
- pDC->SetTextColor(RGB(0,0,0));
-
- LOGBRUSH logBrush;
- logBrush.lbStyle = BS_HOLLOW;
- hbr = CreateBrushIndirect(&logBrush);
- }
- if(nCtlColor == CTLCOLOR_EDIT)
- {
- pDC->SetTextColor(RGB(255,0,0));//字体色
- //pDC->SetBkColor(RGB(170, 243, 162));
- }
-
- return hbr;
- }