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

金融证券系统

开发平台:

Visual C++

  1. // DJDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "DJDlg.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #undef THIS_FILE
  8. static char THIS_FILE[] = __FILE__;
  9. #endif
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CDJDlg dialog
  12. CDJDlg::CDJDlg(CWnd* pParent, CDJ * pDJ)
  13. {
  14. CParamDlg::CParamDlg(CDJDlg::IDD, pParent);
  15. //{{AFX_DATA_INIT(CDJDlg)
  16. //}}AFX_DATA_INIT
  17. m_pDJ = pDJ;
  18. }
  19. void CDJDlg::DoDataExchange(CDataExchange* pDX)
  20. {
  21. CParamDlg::DoDataExchange(pDX);
  22. //{{AFX_DATA_MAP(CDJDlg)
  23. DDX_Control(pDX, IDC_DJSZN, m_comboDJSzn);
  24. DDX_Control(pDX, IDC_DJSHA, m_comboDJSha);
  25. DDX_Control(pDX, IDC_STATIC_NAME, m_staticName);
  26. //}}AFX_DATA_MAP
  27. }
  28. BEGIN_MESSAGE_MAP(CDJDlg, CParamDlg)
  29. //{{AFX_MSG_MAP(CDJDlg)
  30. ON_BN_CLICKED(IDC_DEFAULT, OnDefault)
  31. ON_BN_CLICKED(IDC_PARAMHELP, OnHelp)
  32. //}}AFX_MSG_MAP
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CDJDlg message handlers
  36. BOOL CDJDlg::OnInitDialog() 
  37. {
  38. CParamDlg::OnInitDialog();
  39. ASSERT( m_pDJ );
  40. // TODO: Add extra initialization here
  41. m_comboDJSha.InitStocks( FALSE, FALSE, TRUE );
  42. m_comboDJSha.SetAutoHide( FALSE );
  43. m_comboDJSzn.InitStocks( FALSE, FALSE, TRUE );
  44. m_comboDJSzn.SetAutoHide( FALSE );
  45. RefreshData( FALSE );
  46. return TRUE;  // return TRUE unless you set the focus to a control
  47.               // EXCEPTION: OCX Property Pages should return FALSE
  48. }
  49. void CDJDlg::OnCancel() 
  50. {
  51. }
  52. void CDJDlg::OnOK() 
  53. {
  54. // TODO: Add extra validation here
  55. if( !RefreshData( TRUE ) )
  56. m_pDJ->SetDefaultParameters( );
  57. CParamDlg::OnOK();
  58. }
  59. void CDJDlg::OnDefault() 
  60. {
  61. // TODO: Add your control notification handler code here
  62. m_pDJ->SetDefaultParameters( );
  63. RefreshData( FALSE );
  64. }
  65. void CDJDlg::OnHelp() 
  66. {
  67. ParamHelp( STT_DJ );
  68. }
  69. BOOL CDJDlg::RefreshData( BOOL bSaveAndValidate )
  70. {
  71. if( !m_pDJ->IsValidParameters() )
  72. m_pDJ->SetDefaultParameters();
  73. if( bSaveAndValidate )
  74. {
  75. UpdateData( TRUE );
  76. CString strStockSha = m_comboDJSha.GetSelectedStockCode();
  77. CString strStockSzn = m_comboDJSzn.GetSelectedStockCode();
  78. m_pDJ->SetDefaultParameters( );
  79. if( strStockSha.GetLength() > 0 )
  80. m_pDJ->m_strCodeSha = strStockSha;
  81. if( strStockSzn.GetLength() > 0 )
  82. m_pDJ->m_strCodeSzn = strStockSzn;
  83. return m_pDJ->IsValidParameters();
  84. }
  85. else
  86. {
  87. m_staticName.SetWindowText( AfxGetSTTFullName(STT_DJ) );
  88. m_comboDJSha.SelectString( 0, m_pDJ->m_strCodeSha );
  89. m_comboDJSzn.SelectString( 0, m_pDJ->m_strCodeSzn );
  90. UpdateData( FALSE );
  91. }
  92. return TRUE;
  93. }