CRDlg.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. // CRDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "CRDlg.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CCRDlg dialog
  12. CCRDlg::CCRDlg(CWnd* pParent, CCR * pCR )
  13. {
  14. CParamDlg::CParamDlg(CCRDlg::IDD, pParent);
  15. //{{AFX_DATA_INIT(CCRDlg)
  16. m_nDays = 0;
  17. m_nMADaysA = 0;
  18. m_nMADaysB = 0;
  19. m_nMADaysC = 0;
  20. m_nMADaysD = 0;
  21. //}}AFX_DATA_INIT
  22. m_pCR = pCR;
  23. }
  24. void CCRDlg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CParamDlg::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CCRDlg)
  28. DDX_Control(pDX, IDC_BOUGHT, m_cmbBought);
  29. DDX_Control(pDX, IDC_SOLD, m_cmbSold);
  30. DDX_Control(pDX, IDC_STATIC_NAME, m_staticName);
  31. DDX_Text(pDX, IDC_DAYS, m_nDays);
  32. DDX_Text(pDX, IDC_MADAYSA, m_nMADaysA);
  33. DDX_Text(pDX, IDC_MADAYSB, m_nMADaysB);
  34. DDX_Text(pDX, IDC_MADAYSC, m_nMADaysC);
  35. DDX_Text(pDX, IDC_MADAYSD, m_nMADaysD);
  36. //}}AFX_DATA_MAP
  37. }
  38. BEGIN_MESSAGE_MAP(CCRDlg, CParamDlg)
  39. //{{AFX_MSG_MAP(CCRDlg)
  40. ON_BN_CLICKED(IDC_DEFAULT, OnDefault)
  41. ON_BN_CLICKED(IDC_PARAMHELP, OnHelp)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CCRDlg message handlers
  46. BOOL CCRDlg::OnInitDialog() 
  47. {
  48. CParamDlg::OnInitDialog();
  49. ASSERT( m_pCR );
  50. // TODO: Add extra initialization here
  51. RefreshData( FALSE );
  52. return TRUE;  // return TRUE unless you set the focus to a control
  53.               // EXCEPTION: OCX Property Pages should return FALSE
  54. }
  55. void CCRDlg::OnCancel() 
  56. {
  57. }
  58. void CCRDlg::OnOK() 
  59. {
  60. // TODO: Add extra validation here
  61. if( !RefreshData( TRUE ) )
  62. m_pCR->SetDefaultParameters( );
  63. CParamDlg::OnOK();
  64. }
  65. void CCRDlg::OnDefault() 
  66. {
  67. // TODO: Add your control notification handler code here
  68. m_pCR->SetDefaultParameters( );
  69. RefreshData( FALSE );
  70. }
  71. void CCRDlg::OnHelp() 
  72. {
  73. ParamHelp( STT_CR );
  74. }
  75. BOOL CCRDlg::RefreshData( BOOL bSaveAndValidate )
  76. {
  77. if( !m_pCR->IsValidParameters() )
  78. m_pCR->SetDefaultParameters();
  79. if( bSaveAndValidate )
  80. {
  81. UpdateData( TRUE );
  82. m_pCR->m_nDays = m_nDays;
  83. m_pCR->m_nMADaysA = m_nMADaysA;
  84. m_pCR->m_nMADaysB = m_nMADaysB;
  85. m_pCR->m_nMADaysC = m_nMADaysC;
  86. m_pCR->m_nMADaysD = m_nMADaysD;
  87. m_pCR->m_itsSold = m_cmbSold.GetSelect();
  88. m_pCR->m_itsBought = m_cmbBought.GetSelect();
  89. return m_pCR->IsValidParameters();
  90. }
  91. else
  92. {
  93. m_staticName.SetWindowText( AfxGetSTTFullName(STT_CR) );
  94. m_nDays = m_pCR->m_nDays;
  95. m_nMADaysA = m_pCR->m_nMADaysA;
  96. m_nMADaysB = m_pCR->m_nMADaysB;
  97. m_nMADaysC = m_pCR->m_nMADaysC;
  98. m_nMADaysD = m_pCR->m_nMADaysD;
  99. m_cmbSold.ResetAndSelect( m_pCR->m_itsSold );
  100. m_cmbBought.ResetAndSelect( m_pCR->m_itsBought );
  101. UpdateData( FALSE );
  102. }
  103. return TRUE;
  104. }