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

金融证券系统

开发平台:

Visual C++

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