PhoneBookdlg.cpp
上传用户:hahaxixi
上传日期:2022-04-15
资源大小:1939k
文件大小:6k
源码类别:

手机短信编程

开发平台:

Visual C++

  1. // PhoneBookdlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "NoteManage.h"
  5. #include "PhoneBookdlg.h"
  6. #include "ADOCOnn.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CPhoneBookdlg dialog
  14. CPhoneBookdlg::CPhoneBookdlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(CPhoneBookdlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CPhoneBookdlg)
  18. //}}AFX_DATA_INIT
  19. }
  20. void CPhoneBookdlg::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(CPhoneBookdlg)
  24. DDX_Control(pDX, IDC_BUTMOD, m_ButMod);
  25. DDX_Control(pDX, IDC_BUTDEL, m_ButDel);
  26. DDX_Control(pDX, IDC_BUTADD, m_ButAdd);
  27. DDX_Control(pDX, IDC_EDIT2, m_Phone);
  28. DDX_Control(pDX, IDC_EDIT1, m_Name);
  29. DDX_Control(pDX, IDC_LIST1, m_Grid);
  30. DDX_Control(pDX, IDC_COMBO3, m_Dep);
  31. DDX_Control(pDX, IDC_COMBO2, m_Duty);
  32. DDX_Control(pDX, IDC_COMBO1, m_Sex);
  33. //}}AFX_DATA_MAP
  34. }
  35. BEGIN_MESSAGE_MAP(CPhoneBookdlg, CDialog)
  36. //{{AFX_MSG_MAP(CPhoneBookdlg)
  37. ON_BN_CLICKED(IDC_BUTADD, OnButadd)
  38. ON_BN_CLICKED(IDC_BUTMOD, OnButmod)
  39. ON_BN_CLICKED(IDC_BUTDEL, OnButdel)
  40. ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
  41. //}}AFX_MSG_MAP
  42. END_MESSAGE_MAP()
  43. /////////////////////////////////////////////////////////////////////////////
  44. // CPhoneBookdlg message handlers
  45. BOOL CPhoneBookdlg::OnInitDialog() 
  46. {
  47. CDialog::OnInitDialog();
  48. // TODO: Add extra initialization here
  49. //设置列表视图的扩展风格
  50. m_Grid.SetExtendedStyle(LVS_EX_FLATSB
  51. |LVS_EX_FULLROWSELECT
  52. |LVS_EX_HEADERDRAGDROP
  53. |LVS_EX_ONECLICKACTIVATE
  54. |LVS_EX_GRIDLINES);
  55. //设置表头
  56. m_Grid.InsertColumn(0,"编号",LVCFMT_LEFT,70,0); 
  57. m_Grid.InsertColumn(1,"姓名",LVCFMT_LEFT,70,1); 
  58. m_Grid.InsertColumn(2,"性别",LVCFMT_LEFT,70,2);
  59. m_Grid.InsertColumn(3,"职务",LVCFMT_LEFT,70,3);
  60. m_Grid.InsertColumn(4,"部门",LVCFMT_LEFT,70,4);
  61. m_Grid.InsertColumn(5,"电话",LVCFMT_LEFT,130,5);
  62. AddToGrid(); 
  63. m_Sex.SetCurSel(0);
  64. m_Duty.SetCurSel(0);
  65. m_Dep.SetCurSel(0);
  66. m_ID = -1;
  67. m_ButAdd.SetBitmap(LoadBitmap(AfxGetInstanceHandle(),
  68. MAKEINTRESOURCE(IDB_BUTADD1))); //设置位图
  69. m_ButAdd.SetHBitmap(LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTADD2)),
  70. LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTADD1)));
  71. m_ButMod.SetBitmap(LoadBitmap(AfxGetInstanceHandle(),
  72. MAKEINTRESOURCE(IDB_BUTMOD1))); //设置位图
  73. m_ButMod.SetHBitmap(LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTMOD2)),
  74. LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTMOD1)));
  75. m_ButDel.SetBitmap(LoadBitmap(AfxGetInstanceHandle(),
  76. MAKEINTRESOURCE(IDB_BUTDEL1))); //设置位图
  77. m_ButDel.SetHBitmap(LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTDEL2)),
  78. LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BUTDEL1)));
  79. return TRUE;  // return TRUE unless you set the focus to a control
  80.               // EXCEPTION: OCX Property Pages should return FALSE
  81. }
  82. void CPhoneBookdlg::OnButadd() 
  83. {
  84. // TODO: Add your control notification handler code here
  85. CString name,phone,sex,duty,dep;
  86. m_Name.GetWindowText(name);
  87. m_Phone.GetWindowText(phone);
  88. if(name.IsEmpty() || phone.IsEmpty())
  89. {
  90. MessageBox("姓名和电话号码不能为空!");
  91. return;
  92. }
  93. m_Sex.GetLBText(m_Sex.GetCurSel(),sex);
  94. m_Duty.GetLBText(m_Duty.GetCurSel(),duty);
  95. m_Dep.GetLBText(m_Dep.GetCurSel(),dep);
  96. ADOConn m_ADOConn;
  97. m_ADOConn.OnInitADOConn();
  98. CString sql;
  99. sql.Format("insert into tb_phonebook(姓名,性别,电话号码,所在部门,职务)
  100. values ('%s','%s','%s','%s','%s')",name,sex,phone,dep,duty);
  101. m_ADOConn.ExecuteSQL((_bstr_t)sql);
  102. m_ADOConn.ExitConnect();
  103. m_Grid.DeleteAllItems();
  104. AddToGrid();
  105. }
  106. void CPhoneBookdlg::OnButmod() 
  107. {
  108. // TODO: Add your control notification handler code here
  109. CString name,phone,sex,duty,dep;
  110. m_Name.GetWindowText(name);
  111. m_Phone.GetWindowText(phone);
  112. if(m_ID < 0)
  113. {
  114. MessageBox("请在列表中选择员工!");
  115. return;
  116. }
  117. m_Sex.GetWindowText(sex);
  118. m_Duty.GetWindowText(duty);
  119. m_Dep.GetWindowText(dep);
  120. ADOConn m_ADOConn;
  121. m_ADOConn.OnInitADOConn();
  122. CString sql;
  123. sql.Format("update tb_phonebook set 姓名='%s',性别='%s',电话号码='%s', 
  124. 所在部门='%s',职务='%s' where 编号=%d",name,sex,phone,dep,duty,m_ID);
  125. m_ADOConn.ExecuteSQL((_bstr_t)sql);
  126. m_ADOConn.ExitConnect();
  127. m_Grid.DeleteAllItems();
  128. AddToGrid();
  129. m_ID = -1;
  130. }
  131. void CPhoneBookdlg::OnButdel() 
  132. {
  133. // TODO: Add your control notification handler code here
  134. if(m_ID < 0)
  135. {
  136. MessageBox("请在列表中选择员工!");
  137. return;
  138. }
  139. ADOConn m_ADOConn;
  140. m_ADOConn.OnInitADOConn();
  141. CString sql;
  142. sql.Format("delete from tb_phonebook where 编号=%d",m_ID);
  143. m_ADOConn.ExecuteSQL((_bstr_t)sql);
  144. m_ADOConn.ExitConnect();
  145. m_Grid.DeleteAllItems();
  146. AddToGrid();
  147. m_ID = -1;
  148. }
  149. void CPhoneBookdlg::AddToGrid()
  150. {
  151. ADOConn m_ADOConn;
  152. m_ADOConn.OnInitADOConn();
  153. CString sql;
  154. int i = 0;
  155. sql.Format("select * from tb_phonebook");
  156. m_ADOConn.m_pRecordset = m_ADOConn.GetRecordSet((_bstr_t)sql);
  157. while(!m_ADOConn.m_pRecordset->adoEOF)
  158. {
  159. m_Grid.InsertItem(i,"");
  160. m_Grid.SetItemText(i,0,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("编号"));
  161. m_Grid.SetItemText(i,1,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("姓名"));
  162. m_Grid.SetItemText(i,2,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("性别"));
  163. m_Grid.SetItemText(i,3,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("职务"));
  164. m_Grid.SetItemText(i,4,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("所在部门"));
  165. m_Grid.SetItemText(i,5,(char*)(_bstr_t)m_ADOConn.m_pRecordset->GetCollect("电话号码"));
  166. m_ADOConn.m_pRecordset->MoveNext();
  167. i++;
  168. }
  169. m_ADOConn.ExitConnect();
  170. }
  171. void CPhoneBookdlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
  172. {
  173. // TODO: Add your control notification handler code here
  174. int pos = m_Grid.GetSelectionMark();
  175. m_ID = atoi(m_Grid.GetItemText(pos,0));
  176. m_Name.SetWindowText(m_Grid.GetItemText(pos,1));
  177. m_Sex.SetWindowText(m_Grid.GetItemText(pos,2));
  178. m_Duty.SetWindowText(m_Grid.GetItemText(pos,3));
  179. m_Dep.SetWindowText(m_Grid.GetItemText(pos,4));
  180. m_Phone.SetWindowText(m_Grid.GetItemText(pos,5));
  181. *pResult = 0;
  182. }
  183. void CPhoneBookdlg::OnOK()
  184. {
  185. }