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

家庭/个人应用

开发平台:

Visual C++

  1. // DialogFinanceIn.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "HomeFinanceManager.h"
  5. #include "DialogFinanceIn.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CDialogFinanceIn dialog
  13. CDialogFinanceIn::CDialogFinanceIn(CWnd* pParent /*=NULL*/)
  14. : CDialog(CDialogFinanceIn::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CDialogFinanceIn)
  17. //}}AFX_DATA_INIT
  18. m_bTabFinanceIn = false;
  19. m_pActiveWnd = NULL;
  20. }
  21. void CDialogFinanceIn::DoDataExchange(CDataExchange* pDX)
  22. {
  23. CDialog::DoDataExchange(pDX);
  24. //{{AFX_DATA_MAP(CDialogFinanceIn)
  25. DDX_Control(pDX, IDC_TAB_FINANCEIN, m_tabFinanceIn);
  26. //}}AFX_DATA_MAP
  27. }
  28. BEGIN_MESSAGE_MAP(CDialogFinanceIn, CDialog)
  29. //{{AFX_MSG_MAP(CDialogFinanceIn)
  30. ON_WM_SIZE()
  31. ON_WM_SHOWWINDOW()
  32. ON_WM_ERASEBKGND() 
  33. ON_NOTIFY(TCN_SELCHANGE, IDC_TAB_FINANCEIN, OnSelchangeTabFinancein)
  34. //}}AFX_MSG_MAP
  35. END_MESSAGE_MAP()
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CDialogFinanceIn message handlers
  38. BOOL CDialogFinanceIn::OnEraseBkgnd( CDC* pDC )
  39. {
  40. RECT rcClient;
  41. this->GetClientRect(&rcClient);
  42. HBRUSH hOldBrush;
  43. HBRUSH hBrush = ::CreateSolidBrush(RGB(180, 255, 140));
  44. hOldBrush = (HBRUSH)pDC->SelectObject(hBrush);
  45. pDC->Rectangle(&rcClient);
  46. pDC->SelectObject(hOldBrush);
  47. ::DeleteObject(hBrush);
  48. return TRUE;
  49. }
  50. //---------------------------------------------------------------------------------------
  51. //显示选项卡
  52. void CDialogFinanceIn::ShowTabFinanceIn()
  53. {
  54. if(!m_bTabFinanceIn && m_tabFinanceIn)
  55. {
  56. //添加选项卡内容
  57. TCITEM Item;
  58. Item.mask = TCIF_TEXT;
  59. Item.pszText = "查询收入";
  60. m_tabFinanceIn.InsertItem(0, &Item);
  61. Item.pszText = "添加新项";
  62. m_tabFinanceIn.InsertItem(1, &Item);
  63. m_bTabFinanceIn = true;
  64. }
  65.     if(m_tabFinanceIn)
  66. {
  67. RECT rcClient;
  68. this->GetClientRect(&rcClient);
  69. m_tabFinanceIn.MoveWindow(&rcClient);
  70. }
  71. }
  72. void CDialogFinanceIn::OnSize(UINT nType, int cx, int cy) 
  73. {
  74. CDialog::OnSize(nType, cx, cy);
  75. // TODO: Add your message handler code here
  76. ShowTabFinanceIn();
  77. }
  78. void CDialogFinanceIn::OnShowWindow(BOOL bShow, UINT nStatus) 
  79. {
  80. CDialog::OnShowWindow(bShow, nStatus);
  81. // TODO: Add your message handler code here
  82. ShowFinanceInQuery();
  83. //ShowFinanceInAdd();
  84. }
  85. BOOL CDialogFinanceIn::OnInitDialog( )
  86. {
  87. CDialog::OnInitDialog();
  88. m_FinanceInAdd.Create(IDD_FINANCEIN_ADD, &m_tabFinanceIn);
  89. m_FinanceInQuery.Create(IDD_FINANCEIN_QUERY, &m_tabFinanceIn);
  90. return TRUE;
  91. }
  92. //-----------------------------------------------------------------
  93. //显示添加收入窗口
  94. void CDialogFinanceIn::ShowFinanceInAdd()
  95. {
  96. int iError;
  97. if(!m_FinanceInAdd)
  98. {
  99. m_FinanceInAdd.Create(IDD_FINANCEIN_ADD, &m_tabFinanceIn);
  100. iError = GetLastError();
  101. }
  102. if(m_pActiveWnd)
  103. {
  104. m_pActiveWnd->ShowWindow(SW_HIDE);
  105. }
  106. m_pActiveWnd = &m_FinanceInAdd;
  107. ShowActiveWnd();
  108. }
  109. //-----------------------------------------------------------------
  110. //显示查询收入窗口
  111. void CDialogFinanceIn::ShowFinanceInQuery()
  112. {
  113. if(!m_FinanceInQuery)
  114. {
  115. m_FinanceInQuery.Create(IDD_FINANCEIN_QUERY, &m_tabFinanceIn);
  116. }
  117. if(m_pActiveWnd)
  118. {
  119. m_pActiveWnd->ShowWindow(SW_HIDE);
  120. }
  121. m_pActiveWnd = &m_FinanceInQuery;
  122. ShowActiveWnd();
  123. }
  124. void CDialogFinanceIn::ShowActiveWnd()
  125. {
  126. if(m_pActiveWnd)
  127. {
  128. RECT rcClient;
  129. m_tabFinanceIn.GetClientRect(&rcClient);
  130. rcClient.top += 30;
  131. m_pActiveWnd->ShowWindow(SW_SHOW);
  132. m_pActiveWnd->MoveWindow(&rcClient);
  133. }
  134. }
  135. //-----------------------------------------------------------------------------
  136. void CDialogFinanceIn::OnSelchangeTabFinancein(NMHDR* pNMHDR, LRESULT* pResult) 
  137. {
  138. // TODO: Add your control notification handler code here
  139. int iSel = m_tabFinanceIn.GetCurSel();
  140. if(0 == iSel)
  141. {
  142. ShowFinanceInQuery();
  143. }
  144. if(1 == iSel)
  145. {
  146. ShowFinanceInAdd();
  147. }
  148. *pResult = 0;
  149. }