// AdminRegEditDlg.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ManageSetup.h" #include "UserRegEditDlg.h" #include "ServerToolUserManagementDlg.h" #include #include ".\userregeditdlg.h" // AdminRegEditDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù. enum UserRegEditConst { REGISTER, EDIT }; IMPLEMENT_DYNAMIC(CUserRegEditDlg, CDialog) CUserRegEditDlg::CUserRegEditDlg(ServerManage::UserInfo* lpUserInfo, CWnd* pParent /*=NULL*/) : CDialog(CUserRegEditDlg::IDD, pParent) , m_szTitleName( _T("") ) , m_szGroupName( _T("") ) , m_strTempUserID(_T("")) , m_strUserName(_T("")) , m_strUserPass(_T("")) , m_strUserIP(_T("")) , m_usUserLevel(CToolUserManager::MONITORING) , m_usMode(REGISTER) { if(0 != lpUserInfo) { in_addr addr; addr.S_un.S_addr = lpUserInfo->dwIP; m_strTempUserID.SetString(lpUserInfo->szID); m_strUserName.SetString(lpUserInfo->szFullName); m_strUserPass.SetString(lpUserInfo->szPassword); m_strUserIP.SetString(inet_ntoa(addr)); m_usUserLevel = lpUserInfo->usAdminLevel; m_usMode = EDIT; } } CUserRegEditDlg::~CUserRegEditDlg() { } void CUserRegEditDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_GROUPNAME_EDIT, m_szGroupName); DDX_Text(pDX, IDC_USERNAME, m_strUserName); DDX_Text(pDX, IDC_USERPASS, m_strUserPass); DDX_Text(pDX, IDC_USERIP, m_strUserIP); DDX_Control(pDX, IDC_USERLV, m_ctrlUserLV); DDX_Control(pDX, IDC_USERID, m_strUserID); } BEGIN_MESSAGE_MAP(CUserRegEditDlg, CDialog) ON_BN_CLICKED(IDC_REGEDITOK_BTN, OnBnClickedRegeditokBtn) ON_BN_CLICKED(IDC_CANCEL, OnBnClickedCancel) END_MESSAGE_MAP() // AdminRegEditDlg ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CUserRegEditDlg::OnInitDialog() { CDialog::OnInitDialog(); m_ctrlUserLV.InsertString( CToolUserManager::MASTER, _T("MASTER") ); m_ctrlUserLV.InsertString( CToolUserManager::GENERAL, _T("GENERAL") ); m_ctrlUserLV.InsertString( CToolUserManager::MONITORING, _T("MONITORING") ); m_ctrlUserLV.SetCurSel(m_usUserLevel); if(m_strTempUserID.IsEmpty()) { SetWindowText( _T("Admin Registaration") ); m_szGroupName = _T("New Admin Info"); } else { m_strUserID.SetWindowText(m_strTempUserID); m_strUserID.SetReadOnly(); SetWindowText( _T("Admin Edit") ); m_szGroupName = _T("Edit Admin Info"); } UpdateData( false ); return true; } void CUserRegEditDlg::OnBnClickedRegeditokBtn() { UpdateData( true ); ServerManage::UserInfo stNewUserInfo; m_strUserID.GetWindowText(m_strTempUserID); // ¼öÁ¤ ¶Ç´Â µî·Ï ÇÒ ¿î¿µÀÚ Á¤º¸ ¼öÁý _snprintf(stNewUserInfo.szID, ServerManage::UserInfo::ID_LEN - 1, "%s", m_strTempUserID); // ¿î¿µÀÚ ID stNewUserInfo.szID[ServerManage::UserInfo::ID_LEN - 1] = 0; _snprintf(stNewUserInfo.szFullName, ServerManage::UserInfo::NAME_LEN - 1, "%s", m_strUserName ); // ¿î¿µÀÚ À̸§ stNewUserInfo.szFullName[ServerManage::UserInfo::NAME_LEN - 1] = 0; stNewUserInfo.dwIP = inet_addr(m_strUserIP); // ¿î¿µÀÚ IP stNewUserInfo.usAdminLevel = m_ctrlUserLV.GetCurSel(); // ¿î¿µÀÚ ·¹º§ _snprintf(stNewUserInfo.szPassword, ServerManage::UserInfo::PASS_LEN - 1, "%s", m_strUserPass ); // ¿î¿µÀÚ ÆÐ½º¿öµå stNewUserInfo.szPassword[ServerManage::UserInfo::PASS_LEN - 1] = 0; if( m_usMode == REGISTER) { if(!CToolUserManager::GetInstance().AddUser(stNewUserInfo)) { AfxMessageBox("Add user error!"); } } else if( m_usMode == EDIT ) { if(!CToolUserManager::GetInstance().ModifyUser(stNewUserInfo)) { AfxMessageBox("Modify user error!"); } } OnOK(); } void CUserRegEditDlg::OnBnClickedCancel() { OnCancel(); }