DialogFinaceInAdd.cpp
上传用户:xiaoke98
上传日期:2014-06-29
资源大小:5718k
文件大小:4k
源码类别:

家庭/个人应用

开发平台:

Visual C++

  1. // DialogFinaceInAdd.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "HomeFinanceManager.h"
  5. #include "DialogFinaceInAdd.h"
  6. #include "DBOperator.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CDialogFinaceInAdd dialog
  14. CDialogFinaceInAdd::CDialogFinaceInAdd(CWnd* pParent /*=NULL*/)
  15. : CDialog(CDialogFinaceInAdd::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CDialogFinaceInAdd)
  18. m_strClassInfo = _T("");
  19. m_dateFinanceIn = 0;
  20. m_strRemark = _T("");
  21. m_strSum = _T("");
  22. m_strNewClass = _T("");
  23. //}}AFX_DATA_INIT
  24. }
  25. void CDialogFinaceInAdd::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(CDialogFinaceInAdd)
  29. DDX_Control(pDX, IDC_ADDRECORD, m_btnAddRecord);
  30. DDX_Control(pDX, IDC_ADDCLASS, m_btnAddClass);
  31. DDX_Control(pDX, IDC_INCLASSLIST, m_InClassList);
  32. DDX_Text(pDX, IDC_CLASSINFO, m_strClassInfo);
  33. DDX_DateTimeCtrl(pDX, IDC_INDATE, m_dateFinanceIn);
  34. DDX_Text(pDX, IDC_INREMARK, m_strRemark);
  35. DDX_Text(pDX, IDC_INSUM, m_strSum);
  36. DDX_Text(pDX, IDC_NEWCLASS, m_strNewClass);
  37. //}}AFX_DATA_MAP
  38. }
  39. BEGIN_MESSAGE_MAP(CDialogFinaceInAdd, CDialog)
  40. //{{AFX_MSG_MAP(CDialogFinaceInAdd)
  41. ON_BN_CLICKED(IDC_ADDRECORD, OnAddrecord)
  42. ON_BN_CLICKED(IDC_ADDCLASS, OnAddclass)
  43. //}}AFX_MSG_MAP
  44. ON_WM_ERASEBKGND() 
  45. ON_WM_CTLCOLOR()
  46. END_MESSAGE_MAP()
  47. /////////////////////////////////////////////////////////////////////////////
  48. // CDialogFinaceInAdd message handlers
  49. void CDialogFinaceInAdd::OnOK( )
  50. {
  51. }
  52. //-----------------------------------------------------------------------------
  53. BOOL CDialogFinaceInAdd::OnInitDialog( )
  54. {
  55. CDialog::OnInitDialog();
  56. m_dateFinanceIn = CTime::GetCurrentTime();
  57. CSysDataStruct::CClassInfo TempClassInfo;
  58. gDBOperator.getMoneyInClassInfo(TempClassInfo);
  59. CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_CLASSINFO);
  60. pComboBox->Clear();
  61. for(int i = 0; i < TempClassInfo.m_iClassNum; i++)
  62. {
  63. pComboBox->InsertString(-1, TempClassInfo.m_Classes[i]);
  64. }
  65. this->UpdateData(FALSE);
  66. gDBOperator.getInClassInfo(&m_InClassList);
  67. return TRUE;
  68. }
  69. //-----------------------------------------------------------------------------
  70. BOOL CDialogFinaceInAdd::OnEraseBkgnd( CDC* pDC )
  71. {
  72. RECT rcClient;
  73. this->GetClientRect(&rcClient);
  74. HBRUSH hOldBrush;
  75. HBRUSH hBrush = ::CreateSolidBrush(RGB(213, 247, 209));
  76. hOldBrush = (HBRUSH)pDC->SelectObject(hBrush);
  77. pDC->Rectangle(&rcClient);
  78. pDC->SelectObject(hOldBrush);
  79. ::DeleteObject(hBrush);
  80. return TRUE;
  81. }
  82. //-----------------------------------------------------------------------------
  83. HBRUSH CDialogFinaceInAdd::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor)
  84. {
  85. HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
  86. //改变控件的颜色
  87. if(nCtlColor == CTLCOLOR_STATIC)
  88. {
  89. pDC->SetBkMode(TRANSPARENT);
  90. pDC->SetTextColor(RGB(255,0,0));
  91. LOGBRUSH  logBrush;
  92. logBrush.lbStyle = BS_HOLLOW;
  93. hbr = CreateBrushIndirect(&logBrush);
  94. }
  95. if(nCtlColor == CTLCOLOR_EDIT)
  96. {
  97. pDC->SetTextColor(RGB(255,0,0));//字体色
  98. //pDC->SetBkColor(RGB(170, 243, 162));
  99. }
  100. return hbr;
  101. }
  102. //-----------------------------------------------------------------------------
  103. void CDialogFinaceInAdd::OnAddrecord() 
  104. {
  105. // TODO: Add your control notification handler code here
  106. UpdateData(true);
  107. CString strDate;
  108. //strDate = m_InputTime.Format("%Y-%)
  109. strDate.Format("%d-%2d-%d", m_dateFinanceIn.GetYear(),
  110. m_dateFinanceIn.GetMonth(),
  111. m_dateFinanceIn.GetDay());
  112. int iClassID = gDBOperator.getClassID(m_strClassInfo);
  113. if(iClassID < 0)
  114. {
  115. AfxMessageBox("类别不存在,请重新选择!");
  116. return;
  117. }
  118. CString strClassID;
  119. strClassID.Format("%d", iClassID);
  120. gDBOperator.addFinanceIn(m_strSum, strClassID, strDate, m_strRemark);
  121. }
  122. //---------------------------------------------------------------------------
  123. void CDialogFinaceInAdd::OnAddclass() 
  124. {
  125. // TODO: Add your control notification handler code here
  126. this->UpdateData();
  127. gDBOperator.addInClass(m_strNewClass);
  128. gDBOperator.getInClassInfo(&m_InClassList);
  129. CSysDataStruct::CClassInfo TempClassInfo;
  130. gDBOperator.getMoneyInClassInfo(TempClassInfo);
  131. CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_CLASSINFO);
  132. pComboBox->Clear();
  133. for(int i = 0; i < TempClassInfo.m_iClassNum; i++)
  134. {
  135. pComboBox->InsertString(-1, TempClassInfo.m_Classes[i]);
  136. }
  137. this->UpdateData(FALSE);
  138. }