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

家庭/个人应用

开发平台:

Visual C++

  1. // DialogNavigate.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "HomeFinanceManager.h"
  5. #include "DialogNavigate.h"
  6. #include "NavigateView.h"
  7. #include "SysStatus.h"
  8. #include "DBOperator.h"
  9. #include "MainFrm.h"
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CDialogNavigate dialog
  17. CDialogNavigate::CDialogNavigate(CWnd* pParent /*=NULL*/)
  18. : CDialog(CDialogNavigate::IDD, pParent)
  19. {
  20. //{{AFX_DATA_INIT(CDialogNavigate)
  21. m_strUserName = _T("");
  22. //}}AFX_DATA_INIT
  23. m_pParentView = NULL;
  24. }
  25. void CDialogNavigate::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(CDialogNavigate)
  29. DDX_Control(pDX, IDC_EXIT, m_btnExit);
  30. DDX_Control(pDX, IDC_USERIMG, m_btnUserImg);
  31. DDX_Control(pDX, IDC_BTN_LOGIN, m_btnLogin);
  32. DDX_Control(pDX, IDC_BTN_FINANCEOUT, m_btnFinanceOut);
  33. DDX_Control(pDX, IDC_BTN_FINANCEIN, m_btnFinance);
  34. DDX_Control(pDX, IDC_BTN_BALANCE, m_btnBalance);
  35. DDX_Text(pDX, IDC_USERNAME, m_strUserName);
  36. //}}AFX_DATA_MAP
  37. }
  38. BEGIN_MESSAGE_MAP(CDialogNavigate, CDialog)
  39. //{{AFX_MSG_MAP(CDialogNavigate)
  40. ON_WM_PAINT()
  41. ON_WM_CTLCOLOR()
  42. ON_WM_ERASEBKGND() 
  43. ON_BN_CLICKED(IDC_BTN_LOGIN, OnBtnLogin)
  44. ON_BN_CLICKED(IDC_BTN_BALANCE, OnBtnBalance)
  45. ON_BN_CLICKED(IDC_BTN_FINANCEIN, OnBtnFinancein)
  46. ON_BN_CLICKED(IDC_BTN_FINANCEOUT, OnBtnFinanceout)
  47. ON_WM_SHOWWINDOW()
  48. ON_BN_CLICKED(IDC_USERIMG, OnUserimg)
  49. ON_BN_CLICKED(IDC_EXIT, OnExit)
  50. //}}AFX_MSG_MAP
  51. END_MESSAGE_MAP()
  52. /////////////////////////////////////////////////////////////////////////////
  53. // CDialogNavigate message handlers
  54. void CDialogNavigate::OnOK( )
  55. {
  56. }
  57. void  CDialogNavigate::DispalyBackBmp(CDC* pDC)
  58. {
  59. CBitmap Bitmap;
  60. Bitmap.LoadBitmap(IDB_NAVIGATE);
  61. BITMAP bmpInfo;
  62. Bitmap.GetBitmap(&bmpInfo);
  63. CDC MemDC;
  64. MemDC.CreateCompatibleDC(pDC);
  65. MemDC.SelectObject(Bitmap);
  66. RECT rcClient;
  67. this->GetClientRect(&rcClient);
  68. int iWidth = rcClient.right - rcClient.left;
  69. int iHeight = rcClient.bottom - rcClient.top;
  70. pDC->BitBlt(0, 0, iWidth, iHeight, &MemDC, 0, 0,SRCCOPY);
  71. }
  72. void CDialogNavigate::OnPaint() 
  73. {
  74. CPaintDC dc(this); // device context for painting
  75. // TODO: Add your message handler code here
  76. // Do not call CDialog::OnPaint() for painting messages
  77. }
  78.  BOOL CDialogNavigate::OnEraseBkgnd( CDC* pDC )
  79.  {
  80. DispalyBackBmp(pDC);
  81. return TRUE;
  82.  }
  83. HBRUSH CDialogNavigate::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. LOGBRUSH  logBrush;
  91. logBrush.lbStyle = BS_HOLLOW;
  92. hbr = CreateBrushIndirect(&logBrush);
  93. }
  94. if(nCtlColor == CTLCOLOR_EDIT)
  95. {
  96. pDC->SetTextColor(RGB(255,0,0));//字体色
  97. pDC->SetBkColor(RGB(170, 243, 162));
  98. }
  99. return hbr;
  100. }
  101. void CDialogNavigate::setParentView(CNavigateView*  pView)
  102. {
  103. m_pParentView = pView;
  104. }
  105. void CDialogNavigate::OnBtnLogin() 
  106. {
  107. // TODO: Add your control notification handler code here
  108. m_pParentView->Login();
  109. }
  110. void CDialogNavigate::OnBtnBalance() 
  111. {
  112. // TODO: Add your control notification handler code here
  113. if(gSysStatus.getLoginStatus() == FALSE)
  114. {
  115. AfxMessageBox("用户尚未登录,无法使用该系统!");
  116. return;
  117. }
  118. m_pParentView->Balance();
  119. }
  120. void CDialogNavigate::OnBtnFinancein() 
  121. {
  122. // TODO: Add your control notification handler code here
  123. if(gSysStatus.getLoginStatus() == FALSE)
  124. {
  125. AfxMessageBox("用户尚未登录,无法使用该系统!");
  126. return;
  127. }
  128. m_pParentView->FinanceIn();
  129. }
  130. void CDialogNavigate::OnBtnFinanceout() 
  131. {
  132. // TODO: Add your control notification handler code here
  133. if(gSysStatus.getLoginStatus() == FALSE)
  134. {
  135. AfxMessageBox("用户尚未登录,无法使用该系统!");
  136. return;
  137. }
  138. m_pParentView->FinanceOut();
  139. }
  140. void CDialogNavigate::OnShowWindow(BOOL bShow, UINT nStatus) 
  141. {
  142. CDialog::OnShowWindow(bShow, nStatus);
  143. // TODO: Add your message handler code here
  144. m_strUserName = gSysStatus.getUserName();
  145. this->UpdateData(FALSE);
  146. }
  147. void CDialogNavigate::setCurrUser(CString& strUserName)
  148. {
  149. m_strUserName.Format("用户%s正在使用中", strUserName.GetBuffer(0));
  150. UpdateData(FALSE);
  151. char* pImgData = 0;
  152. int iDataLen;
  153. gDBOperator.getUserImg(strUserName, &pImgData, iDataLen);
  154. if(pImgData)
  155. {
  156. m_btnUserImg.setBmpData(pImgData, iDataLen);
  157. delete[] pImgData;
  158. }
  159. }
  160. void CDialogNavigate::OnUserimg() 
  161. {
  162. // TODO: Add your control notification handler code here
  163. /*m_btnUserImg.OpenBmpFile();
  164. char* pData = NULL;
  165. int iDataLength;
  166. m_btnUserImg.getData(NULL, iDataLength);
  167. pData = new char[iDataLength];
  168. m_btnUserImg.getData(pData, iDataLength);
  169. gDBOperator.addUser("wyx", "beyourself", pData, iDataLength);
  170. delete[] pData;*/
  171. }
  172. void CDialogNavigate::OnExit() 
  173. {
  174. // TODO: Add your control notification handler code here
  175. CMainFrame* pWnd = (CMainFrame*)AfxGetMainWnd( );
  176. pWnd->OnClose();
  177. }