SalarySet.cpp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. // SalarySet.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "LYFZIPManage.h"
  5. #include "SalarySet.h"
  6. #include "MyMdi.H"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // SalarySet
  14. IMPLEMENT_DYNCREATE(SalarySet, CFormView)
  15. SalarySet::SalarySet()
  16. : CFormView(SalarySet::IDD)
  17. {
  18. //{{AFX_DATA_INIT(SalarySet)
  19. m_name = _T("");
  20. m_rate1 = _T("");
  21. m_rate2 = _T("");
  22. m_bz = _T("");
  23. m_base = _T("");
  24. //}}AFX_DATA_INIT
  25. }
  26. SalarySet::~SalarySet()
  27. {
  28. }
  29. void SalarySet::DoDataExchange(CDataExchange* pDX)
  30. {
  31. CFormView::DoDataExchange(pDX);
  32. //{{AFX_DATA_MAP(SalarySet)
  33. DDX_Control(pDX, IDC_EDITrate2, m_editnum3);
  34. DDX_Control(pDX, IDC_EDITrate1, m_editnum2);
  35. DDX_Control(pDX, IDC_EDITbase, m_editnum1);
  36. DDX_Control(pDX, IDC_LIST2, m_List1);
  37. DDX_Control(pDX, IDC_STATIC1, m_static1);
  38. DDX_Text(pDX, IDC_EDITname, m_name);
  39. DDX_Text(pDX, IDC_EDITrate1, m_rate1);
  40. DDX_Text(pDX, IDC_EDITrate2, m_rate2);
  41. DDX_Text(pDX, IDC_EDITbz, m_bz);
  42. DDX_Text(pDX, IDC_EDITbase, m_base);
  43. //}}AFX_DATA_MAP
  44. }
  45. BEGIN_MESSAGE_MAP(SalarySet, CFormView)
  46. //{{AFX_MSG_MAP(SalarySet)
  47. ON_BN_CLICKED(IDC_BUTsave, OnBUTsave)
  48. ON_BN_CLICKED(IDC_BUTclose, OnBUTclose)
  49. ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
  50. //}}AFX_MSG_MAP
  51. END_MESSAGE_MAP()
  52. /////////////////////////////////////////////////////////////////////////////
  53. // SalarySet diagnostics
  54. #ifdef _DEBUG
  55. void SalarySet::AssertValid() const
  56. {
  57. CFormView::AssertValid();
  58. }
  59. void SalarySet::Dump(CDumpContext& dc) const
  60. {
  61. CFormView::Dump(dc);
  62. }
  63. #endif //_DEBUG
  64. /////////////////////////////////////////////////////////////////////////////
  65. // SalarySet message handlers
  66. void SalarySet::OnInitialUpdate()
  67. {
  68. CFormView::OnInitialUpdate();
  69. // TODO: Add your specialized code here and/or call the base class
  70. CMyMdi Mdi;
  71. Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this);
  72. // Here we create the outbar control using the splitter as its parent
  73. // and setting its id to the first pane.
  74. CRect rc2;
  75. GetWindowRect(rc2);
  76. ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE);
  77. EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0);
  78. m_static1.SetFont (&g_titlefont);
  79. m_List1.SetHeadings("姓名,100;基本工资, 100;前期点数, 100;后期点数,100;备注,100" );
  80. m_List1.LoadColumnInfo (22);
  81. GetData();
  82. }
  83. void SalarySet::FillGrid()
  84. {
  85. m_List1.DeleteAllItems2 ();
  86. int ii=0;
  87. m_List1.m_arLabels.SetSize( m_List1array.GetSize (), 1 );
  88. int count=0;
  89. for(ii=0; ii<m_List1.m_arLabels.GetSize (); ii++)
  90. {
  91. m_List1.m_arLabels.ElementAt (count++).Copy (m_List1array.ElementAt (ii));
  92. }
  93. m_List1.m_arLabels.SetSize(count, 1);
  94. ii=count;
  95. m_List1.m_LabelCount=ii;
  96. m_List1.SetItemCountEx (ii);
  97. }
  98. void SalarySet::OnBUTclose()
  99. {
  100. // TODO: Add your control notification handler code here
  101. GetParent()->SendMessage(WM_CLOSE);
  102. }
  103. void SalarySet::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult)
  104. {
  105. // TODO: Add your control notification handler code here
  106. ListSelChange();
  107. *pResult = 0;
  108. }
  109. void SalarySet::ListSelChange()
  110. {
  111. POSITION pos;
  112. pos=m_List1.GetFirstSelectedItemPosition();
  113. if(pos==NULL)
  114. {
  115. return;
  116. }
  117. int iItem=m_List1.GetNextSelectedItem(pos);
  118. m_name=m_List1.GetItemText (iItem, 0);
  119. for(int ii=0; ii<m_List1array.GetSize (); ii++)
  120. {
  121. if(m_List1array.ElementAt (ii).ElementAt (0)==m_name)
  122. {
  123. m_name = m_List1array.ElementAt (ii).ElementAt (0);
  124. m_base = m_List1array.ElementAt (ii).ElementAt (1);
  125. m_rate1 = m_List1array.ElementAt (ii).ElementAt (2);
  126. m_rate2 = m_List1array.ElementAt (ii).ElementAt (3);
  127. m_bz = m_List1array.ElementAt (ii).ElementAt (4);
  128. UpdateData(false);
  129. return;
  130. }
  131. }
  132. }
  133. void SalarySet::OnBUTsave()
  134. {
  135. // TODO: Add your control notification handler code here
  136. POSITION pos;
  137. pos=m_List1.GetFirstSelectedItemPosition();
  138. if(pos==NULL)
  139. {
  140. return;
  141. }
  142. UpdateData();
  143. CString sql="update renyuan set base='"+m_base+"',rate1='"+m_rate1+"',rate2='"+m_rate2+"',bz2='"+m_bz+"' \
  144. where name='"+m_name+"' ";
  145. g_sendhead.bsql=1;
  146. g_pMainWnd->ProcessChatMessageRequest2(sql);if(g_bSendOK==0)return;
  147. AfxMessageBox("保存成功!", MB_ICONINFORMATION);
  148. GetData();
  149. }
  150. void SalarySet::GetData()
  151. {
  152. g_sendhead.bsql=0;
  153. g_sendhead.code[0]=34;
  154. g_sendhead.tabcount=1;
  155. int g_nYearposTemp=g_nYearpos;
  156. g_nYearpos=-1;
  157. g_pMainWnd->ProcessChatMessageRequest2(13);
  158. g_nYearpos=g_nYearposTemp;
  159. if(g_bSendOK==0)return;
  160. DataToArray(&m_List1array);
  161. FillGrid();
  162. }
  163. BOOL SalarySet::PreTranslateMessage(MSG* pMsg)
  164. {
  165. // TODO: Add your specialized code here and/or call the base class
  166. try
  167. {
  168. if(pMsg->message==WM_KEYDOWN)
  169. {
  170. switch (pMsg->wParam)
  171. {
  172. case 0x43: // copy
  173. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  174. {
  175. GetFocus()->SendMessage(WM_COPY);
  176. return TRUE;
  177. }
  178. break;
  179. case 0x56: //Ctrl + V:
  180. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  181. {
  182. GetFocus()->SendMessage(WM_PASTE);
  183. return TRUE;
  184. }
  185. break;
  186. case 0x58: // cut
  187. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  188. {
  189. GetFocus()->SendMessage(WM_CUT);
  190. return TRUE;
  191. }
  192. break;
  193. case 0x5A: //undo
  194. case 0x59: //redo
  195. if ( ( GetKeyState( VK_CONTROL ) & 0x80 ) )
  196. {
  197. GetFocus()->SendMessage(WM_UNDO);
  198. return TRUE;
  199. }
  200. break;
  201. }
  202. }
  203. return CFormView::PreTranslateMessage(pMsg);
  204. }
  205. catch(...)
  206. {
  207. }
  208. }