ChangePwd.cpp
上传用户:guangzhiyw
上传日期:2007-01-09
资源大小:495k
文件大小:2k
源码类别:

ICQ/即时通讯

开发平台:

Visual C++

  1. // ChangePwd.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "client.h"
  5. #include "ChangePwd.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CChangePwd dialog
  13. CChangePwd::CChangePwd(CWnd* pParent /*=NULL*/)
  14. : CDialog(CChangePwd::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CChangePwd)
  17. m_bCanModify = FALSE;
  18. //}}AFX_DATA_INIT
  19. }
  20. void CChangePwd::DoDataExchange(CDataExchange* pDX)
  21. {
  22. CDialog::DoDataExchange(pDX);
  23. //{{AFX_DATA_MAP(CChangePwd)
  24. DDX_Control(pDX, IDC_OLDPWD, m_oldpwdEdit);
  25. DDX_Control(pDX, IDC_NEW_PWD2, m_newpwd2Edit);
  26. DDX_Control(pDX, IDC_NEW_PWD1, m_newpwdEdit);
  27. DDX_Check(pDX, IDC_START_CHANG, m_bCanModify);
  28. //}}AFX_DATA_MAP
  29. }
  30. BEGIN_MESSAGE_MAP(CChangePwd, CDialog)
  31. //{{AFX_MSG_MAP(CChangePwd)
  32. ON_BN_CLICKED(IDC_START_CHANG, OnStartChang)
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CChangePwd message handlers
  37. void CChangePwd::OnStartChang() 
  38. {
  39. UpdateData();
  40. if(m_bCanModify)
  41. {
  42. m_oldpwdEdit.EnableWindow();
  43. m_newpwdEdit.EnableWindow();
  44. m_newpwd2Edit.EnableWindow();
  45. }
  46. else
  47. {
  48. m_oldpwdEdit.EnableWindow(FALSE);
  49. m_newpwdEdit.EnableWindow(FALSE);
  50. m_newpwd2Edit.EnableWindow(FALSE);
  51. }
  52. }
  53. void CChangePwd::OnOK() 
  54. {
  55. CString strOldpwd,strNewpwd1,strNewpwd2;
  56. m_oldpwdEdit.GetWindowText(strOldpwd);
  57. m_newpwdEdit.GetWindowText(strNewpwd1);
  58. m_newpwd2Edit.GetWindowText(strNewpwd2);
  59. if(strOldpwd!=GetApp()->m_strCurIDpwd)
  60. {
  61. MessageBox("旧密码错误!");
  62. CDialog::OnCancel();
  63. }
  64. if(strNewpwd1!=strNewpwd2||strNewpwd1.IsEmpty())
  65. {
  66. MessageBox("两个新密码不匹配!");
  67. m_newpwdEdit.SetWindowText("");
  68. m_newpwd2Edit.SetWindowText("");
  69. m_newpwdEdit.SetFocus();
  70. return;
  71. }
  72. CMsgModifyPwd msg;
  73. msg.index=CHANGE_PASSWORD;
  74. msg.MyId=GetApp()->m_uCurrentUserID;
  75. msg.OldPwd=strOldpwd;
  76. msg.NewPwd=strNewpwd1;
  77. msg.tarIP=GetApp()->m_uServerIP;
  78. msg.nPort=GetApp()->m_uServerPort;
  79. BOOL bCancel=FALSE;
  80. if(GetApp()->m_Socket.SendData(&msg,bCancel))
  81. {
  82. GetApp()->m_strCurIDpwd=strNewpwd1;
  83. CDialog::OnOK();
  84. }
  85. else
  86. {
  87. CString str;
  88. str.LoadString(IDS_SERVER_NOT_RES);
  89. MessageBox(str);
  90. }
  91. }