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

金融证券系统

开发平台:

Visual C++

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