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

金融证券系统

开发平台:

Visual C++

  1. // KSTDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "KSTDlg.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CKSTDlg dialog
  12. CKSTDlg::CKSTDlg(CWnd* pParent, CKST * pKST )
  13. {
  14. CParamDlg::CParamDlg(CKSTDlg::IDD, pParent);
  15. //{{AFX_DATA_INIT(CKSTDlg)
  16. m_nROCDays1 = 0;
  17. m_nROCDays2 = 0;
  18. m_nROCDays3 = 0;
  19. m_nROCDays4 = 0;
  20. m_nMADays = 0;
  21. //}}AFX_DATA_INIT
  22. m_pKST = pKST;
  23. }
  24. void CKSTDlg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CParamDlg::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CKSTDlg)
  28. DDX_Control(pDX, IDC_DEADFORK, m_cmbDeadFork);
  29. DDX_Control(pDX, IDC_GOLDENFORK, m_cmbGoldenFork);
  30. DDX_Control(pDX, IDC_STATIC_NAME, m_staticName);
  31. DDX_Text(pDX, IDC_DAYS1, m_nROCDays1);
  32. DDX_Text(pDX, IDC_DAYS2, m_nROCDays2);
  33. DDX_Text(pDX, IDC_DAYS3, m_nROCDays3);
  34. DDX_Text(pDX, IDC_DAYS4, m_nROCDays4);
  35. DDX_Text(pDX, IDC_MADAYS, m_nMADays);
  36. //}}AFX_DATA_MAP
  37. }
  38. BEGIN_MESSAGE_MAP(CKSTDlg, CParamDlg)
  39. //{{AFX_MSG_MAP(CKSTDlg)
  40. ON_BN_CLICKED(IDC_DEFAULT, OnDefault)
  41. ON_BN_CLICKED(IDC_PARAMHELP, OnHelp)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CKSTDlg message handlers
  46. BOOL CKSTDlg::OnInitDialog() 
  47. {
  48. CParamDlg::OnInitDialog();
  49. ASSERT( m_pKST );
  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 CKSTDlg::OnCancel() 
  56. {
  57. }
  58. void CKSTDlg::OnOK() 
  59. {
  60. // TODO: Add extra validation here
  61. if( !RefreshData( TRUE ) )
  62. m_pKST->SetDefaultParameters( );
  63. CParamDlg::OnOK();
  64. }
  65. void CKSTDlg::OnDefault() 
  66. {
  67. // TODO: Add your control notification handler code here
  68. m_pKST->SetDefaultParameters( );
  69. RefreshData( FALSE );
  70. }
  71. void CKSTDlg::OnHelp() 
  72. {
  73. ParamHelp( STT_KST );
  74. }
  75. BOOL CKSTDlg::RefreshData( BOOL bSaveAndValidate )
  76. {
  77. if( !m_pKST->IsValidParameters() )
  78. m_pKST->SetDefaultParameters();
  79. if( bSaveAndValidate )
  80. {
  81. UpdateData( TRUE );
  82. m_pKST->m_adwROCDays.RemoveAll();
  83. if( m_nROCDays1 > 0 ) m_pKST->m_adwROCDays.Add( m_nROCDays1 );
  84. if( m_nROCDays2 > 0 ) m_pKST->m_adwROCDays.Add( m_nROCDays2 );
  85. if( m_nROCDays3 > 0 ) m_pKST->m_adwROCDays.Add( m_nROCDays3 );
  86. if( m_nROCDays4 > 0 ) m_pKST->m_adwROCDays.Add( m_nROCDays4 );
  87. m_pKST->m_nMADays = m_nMADays;
  88. m_pKST->m_itsGoldenFork = m_cmbGoldenFork.GetSelect();
  89. m_pKST->m_itsDeadFork = m_cmbDeadFork.GetSelect();
  90. return m_pKST->IsValidParameters();
  91. }
  92. else
  93. {
  94. m_staticName.SetWindowText( AfxGetSTTFullName(STT_KST) );
  95. m_nROCDays1 = m_nROCDays2 = m_nROCDays3 = m_nROCDays4 = 0;
  96. if( m_pKST->m_adwROCDays.GetSize() > 0 ) m_nROCDays1 = m_pKST->m_adwROCDays.ElementAt(0);
  97. if( m_pKST->m_adwROCDays.GetSize() > 1 ) m_nROCDays2 = m_pKST->m_adwROCDays.ElementAt(1);
  98. if( m_pKST->m_adwROCDays.GetSize() > 2 ) m_nROCDays3 = m_pKST->m_adwROCDays.ElementAt(2);
  99. if( m_pKST->m_adwROCDays.GetSize() > 3 ) m_nROCDays4 = m_pKST->m_adwROCDays.ElementAt(3);
  100. m_nMADays = m_pKST->m_nMADays;
  101. m_cmbGoldenFork.ResetAndSelect( m_pKST->m_itsGoldenFork );
  102. m_cmbDeadFork.ResetAndSelect( m_pKST->m_itsDeadFork );
  103. UpdateData( FALSE );
  104. }
  105. return TRUE;
  106. }