PayOutSet.cpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. // PayOutSet.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "PayOutSet.h"
  6. #include "MonthForm.h"
  7. #include "YearForm.h"
  8. #include "YearForm2.h"
  9. #ifdef _DEBUG
  10. #define new DEBUG_NEW
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. /////////////////////////////////////////////////////////////////////////////
  15. // PayOutSet dialog
  16. PayOutSet::PayOutSet(CWnd* pParent /*=NULL*/)
  17. : CDialog(PayOutSet::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(PayOutSet)
  20. m_edit1 = _T("");
  21. m_mode = 0;
  22. //}}AFX_DATA_INIT
  23. }
  24. void PayOutSet::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(PayOutSet)
  28. DDX_Control(pDX, IDC_LIST1, m_List1);
  29. DDX_Text(pDX, IDC_EDIT1, m_edit1);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(PayOutSet, CDialog)
  33. //{{AFX_MSG_MAP(PayOutSet)
  34. ON_BN_CLICKED(IDC_BUTadd, OnBUTadd)
  35. ON_BN_CLICKED(IDC_BUTdel, OnBUTdel)
  36. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  37. //}}AFX_MSG_MAP
  38. END_MESSAGE_MAP()
  39. /////////////////////////////////////////////////////////////////////////////
  40. // PayOutSet message handlers
  41. BOOL PayOutSet::OnInitDialog()
  42. {
  43. CDialog::OnInitDialog();
  44. // TODO: Add extra initialization here
  45. CRect rc;
  46. m_List1.GetClientRect(rc);
  47. CString strHeadings;
  48. strHeadings.Format("项目名称,%d", rc.Width() - 18);
  49. m_List1.SetHeadings(strHeadings);
  50. FillGrid();
  51. this->CenterWindow(g_pMainWnd);
  52. return TRUE; // return TRUE unless you set the focus to a control
  53. // EXCEPTION: OCX Property Pages should return FALSE
  54. }
  55. void PayOutSet::FillGrid()
  56. {
  57. g_sendhead.bsql = 0;
  58. g_sendhead.code[0] = 12;
  59. g_sendhead.tabcount = 1;
  60. g_pMainWnd->ProcessChatMessageRequest2(12); if (g_bSendOK == 0)return;
  61. DataToArray(&m_List1array);
  62. m_List1.DeleteAllItems2();
  63. int ii = 0;
  64. {
  65. m_List1.m_arLabels.SetSize(m_List1array.GetSize(), 1);
  66. for (ii = 0; ii < m_List1.m_arLabels.GetSize(); ii++)
  67. m_List1.m_arLabels.ElementAt(ii).Copy(m_List1array.ElementAt(ii));
  68. }
  69. m_List1.m_LabelCount = ii;
  70. m_List1.SetItemCountEx(ii);
  71. }
  72. void PayOutSet::OnBUTadd()
  73. {
  74. // TODO: Add your control notification handler code here
  75. UpdateData();
  76. m_edit1.TrimLeft();
  77. m_edit1.TrimRight();
  78. if (m_edit1.IsEmpty())
  79. {
  80. AfxMessageBox("项目不能为空!", MB_ICONINFORMATION);
  81. this->GetDlgItem(IDC_EDIT1)->SetFocus();
  82. return;
  83. }
  84. CString sql;
  85. sql.Format("insert into gudingfeiyongxiangmu (xiangmu)values('%s')", m_edit1);
  86. sql += GDFYXM_REF;
  87. g_sendhead.bsql = 1;
  88. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  89. FillGrid();
  90. }
  91. void PayOutSet::OnBUTdel()
  92. {
  93. // TODO: Add your control notification handler code here
  94. POSITION pos;
  95. pos = m_List1.GetFirstSelectedItemPosition();
  96. if (pos == NULL)
  97. {
  98. AfxMessageBox("请选中您要删除的项目!", MB_ICONINFORMATION);
  99. return;
  100. }
  101. if (AfxMessageBox("确认删除吗?", MB_YESNO | MB_ICONINFORMATION) != IDYES)return;
  102. int iItem = m_List1.GetNextSelectedItem(pos);
  103. CString name = m_List1.GetItemText(iItem, 0);
  104. CString sql;
  105. sql.Format("delete from gudingfeiyongxiangmu where xiangmu='%s'", name);
  106. sql += GDFYXM_REF;
  107. g_sendhead.bsql = 1;
  108. g_pMainWnd->ProcessChatMessageRequest2(sql); if (g_bSendOK == 0)return;
  109. FillGrid();
  110. }
  111. void PayOutSet::MoveWindow2(CRect rc)
  112. {
  113. CRect rc2;
  114. m_List1.GetWindowRect(rc2);
  115. rc2.right += 20;
  116. rc.left = rc.right - rc2.Width();
  117. MoveWindow(rc);
  118. GetClientRect(rc);
  119. m_List1.MoveWindow(rc);
  120. }
  121. void PayOutSet::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
  122. {
  123. // TODO: Add your control notification handler code here
  124. if (!m_mode)return;
  125. POSITION pos;
  126. pos = m_List1.GetFirstSelectedItemPosition();
  127. if (pos == NULL)
  128. {
  129. return;
  130. }
  131. int iItem = m_List1.GetNextSelectedItem(pos);
  132. CString id = m_List1.GetItemText(iItem, 0);
  133. if (m_mode == 1)
  134. ((MonthForm*)m_pParent)->TypeChange(id);
  135. else if (m_mode == 2)
  136. ((YearForm*)m_pParent)->TypeChange(id);
  137. else if (m_mode == 3)
  138. ((YearForm2*)m_pParent)->TypeChange(id);
  139. *pResult = 0;
  140. }