SetYXDlg.cpp
上传用户:shtiemo
上传日期:2017-12-29
资源大小:163k
文件大小:2k
开发平台:

Visual C++

  1. // SetYXDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "PasRTDat.h"
  5. #include "SetYXDlg.h"
  6. #include "RTDatOpr.h"
  7. #include "RtListView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // SetYXDlg dialog
  15. SetYXDlg::SetYXDlg(CWnd* pParent /*=NULL*/)
  16. : CDialog(SetYXDlg::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(SetYXDlg)
  19. m_YXName = _T("");
  20. m_NewState = FALSE;
  21. m_OldState = FALSE;
  22. //}}AFX_DATA_INIT
  23. }
  24. void SetYXDlg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(SetYXDlg)
  28. DDX_Text(pDX, IDC_EDITYXNAME, m_YXName);
  29. DDV_MaxChars(pDX, m_YXName, 64);
  30. DDX_Check(pDX, IDC_NewState, m_NewState);
  31. DDX_Check(pDX, IDC_OldState, m_OldState);
  32. //}}AFX_DATA_MAP
  33. }
  34. BEGIN_MESSAGE_MAP(SetYXDlg, CDialog)
  35. //{{AFX_MSG_MAP(SetYXDlg)
  36. //}}AFX_MSG_MAP
  37. END_MESSAGE_MAP()
  38. /////////////////////////////////////////////////////////////////////////////
  39. // SetYXDlg message handlers
  40. void SetYXDlg::OnOK() 
  41. {
  42. // TODO: Add extra validation here
  43. if (bYXYCAryBusy) return;
  44. bYXYCAryBusy = TRUE;
  45. FreeFileYXYCInfo();
  46. UpdateData(TRUE);
  47. BYTE NewState = (BYTE)m_NewState;
  48. char NewYX[3];
  49. sprintf(NewYX,"%d",m_NewState);
  50. CListCtrl& ListCtrl = m_pListV->GetListCtrl(); 
  51. ListCtrl.SetItemText(RowIndex,3,NewYX);
  52. int start;
  53. if (gRtuID == 9999)
  54. start = 0;
  55. else
  56. start = GetRTUYXYCStartIdx(gRtuID,2);
  57. int i = start + RowIndex;
  58. float fCoef, fOffSet;
  59. CString strInfo;
  60. PRTUYX pRTUYX = new RTUYX;
  61. memcpy(&(pRTUYX->DBID), &(YXInfoAry1[i]->DBID), sizeof(DBID)); 
  62. pRTUYX->bVal = (BYTE)m_NewState;
  63. YXInfoAry1[i]->bVal = (BYTE)m_NewState;
  64. if (GetMeaCoef(&(pRTUYX->DBID), &fCoef, &fOffSet, strInfo))
  65. {
  66. if (fCoef == 1.f) 
  67. {
  68. pRTUYX->bVal = !pRTUYX->bVal;
  69. YXInfoAry1[i]->bVal = !pRTUYX->bVal;
  70. }
  71. }
  72. YXInfoAry2.Add(pRTUYX);
  73. bYXYCAryBusy = FALSE;
  74. SendAllDataToADM();
  75. CDialog::OnOK();
  76. }