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. }