Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
250 lines
6.6 KiB
C++
250 lines
6.6 KiB
C++
// TAdminEditDlg.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "AdminToolClient.h"
|
|
#include "TAdminEditDlg.h"
|
|
#include "TAdminRegistrationDlg.h"
|
|
#include "PacketManager.h"
|
|
#include "WindowMgr.h"
|
|
#include "GlobalFunctions.h"
|
|
|
|
|
|
|
|
// CTAdminEditDlg 대화 상자입니다.
|
|
|
|
IMPLEMENT_DYNAMIC(CTAdminEditDlg, CDialog)
|
|
CTAdminEditDlg::CTAdminEditDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CTAdminEditDlg::IDD, pParent)
|
|
, m_strTAdminLVEdit(_T(""))
|
|
, m_strTAdminIPEdit(_T(""))
|
|
, m_strTAdminPassEditOld(_T(""))
|
|
, m_strTAdminPassEditNew(_T(""))
|
|
, m_bTAdminLVEditChk(FALSE)
|
|
, m_bTAdminIPEditChk(FALSE)
|
|
, m_bTAdminPassEditChk(FALSE)
|
|
{
|
|
}
|
|
|
|
CTAdminEditDlg::~CTAdminEditDlg()
|
|
{
|
|
}
|
|
|
|
void CTAdminEditDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
DDX_CBString(pDX, IDC_TADMINLVEDIT, m_strTAdminLVEdit);
|
|
DDX_CBString(pDX, IDC_TADMINIPEDIT, m_strTAdminIPEdit);
|
|
DDX_Text(pDX, IDC_TADMINPASSEDITOLD, m_strTAdminPassEditOld);
|
|
DDX_Text(pDX, IDC_TADMINPASSEDITNEW, m_strTAdminPassEditNew);
|
|
|
|
DDX_Check(pDX, IDC_TADMINLVEDITCHK, m_bTAdminLVEditChk);
|
|
DDX_Check(pDX, IDC_TADMINIPEDITCHK, m_bTAdminIPEditChk);
|
|
DDX_Check(pDX, IDC_TADMINPASSEDITCHK, m_bTAdminPassEditChk);
|
|
|
|
DDX_Control(pDX, IDC_TADMINLVEDIT, m_ctrlTAdminLVCb);
|
|
DDX_Control(pDX, IDC_TADMINIPEDIT, m_ctrlTAdminIPEdit);
|
|
DDX_Control(pDX, IDC_TADMINPASSEDITOLD, m_ctrlTAdminPassEditOld);
|
|
DDX_Control(pDX, IDC_TADMINPASSEDITNEW, m_ctrlTAdminPassEditNew);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTAdminEditDlg, CDialog)
|
|
ON_BN_CLICKED(IDC_TADMINLVEDITCHK, OnBnClickedTadminlveditchk)
|
|
ON_BN_CLICKED(IDC_TADMINIPEDITCHK, OnBnClickedTadminipeditchk)
|
|
ON_BN_CLICKED(IDC_TADMINPASSEDITCHK, OnBnClickedTadminpasseditchk)
|
|
ON_BN_CLICKED(IDOK, OnBnClickedTAdminEdit)
|
|
ON_WM_CTLCOLOR()
|
|
ON_WM_DESTROY()
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CTAdminEditDlg 메시지 처리기입니다.
|
|
|
|
HBRUSH CTAdminEditDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
|
|
{
|
|
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
|
|
|
|
return hbr;
|
|
}
|
|
|
|
BOOL CTAdminEditDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
INSERT_WINDOW( IDD_TADMINEDITDLG, static_cast< CWnd* >( this ) );
|
|
|
|
SetAdminLevelCb(m_ctrlTAdminLVCb);
|
|
|
|
FillSelectAdminInfo();
|
|
// 해당 계정의 패스워드정보는 서버에 특별히 요청하자 ㅡ.ㅡ;
|
|
|
|
SetWindowText(GetLocalString("IDD_TADMINEDITDLG"));
|
|
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_01, "IDC_TADMINEDIT_01");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_02, "IDC_TADMINEDIT_02");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_03, "IDC_TADMINEDIT_03");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_04, "IDC_TADMINEDIT_04");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_05, "IDC_TADMINEDIT_05");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_06, "IDC_TADMINEDIT_06");
|
|
SetUIString(this->m_hWnd, IDC_TADMINEDIT_07, "IDC_TADMINEDIT_07");
|
|
SetUIString(this->m_hWnd, IDC_TADMINLVEDITCHK, "IDC_TADMINLVEDITCHK");
|
|
SetUIString(this->m_hWnd, IDC_TADMINIPEDITCHK, "IDC_TADMINIPEDITCHK");
|
|
SetUIString(this->m_hWnd, IDC_TADMINPASSEDITCHK, "IDC_TADMINPASSEDITCHK");
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CTAdminEditDlg::OnDestroy()
|
|
{
|
|
ERASE_WINDOW( IDD_TADMINEDITDLG );
|
|
|
|
CDialog::OnDestroy();
|
|
}
|
|
|
|
void CTAdminEditDlg::FillSelectAdminInfo( )
|
|
{
|
|
TCHAR szTmp[ 20 ];
|
|
|
|
GetSelectedID ( szTmp, sizeof( szTmp ) );
|
|
SetDlgItemText ( IDC_TADMINPASSEDITOLD5, szTmp );
|
|
GetSelectedName ( szTmp, sizeof( szTmp ) );
|
|
SetDlgItemText ( IDC_TADMINPASSEDITOLD4, szTmp );
|
|
GetSelectedLevel( szTmp, sizeof( szTmp ) );
|
|
SetDlgItemText ( IDC_TADMINPASSEDITOLD3, szTmp );
|
|
GetSelectedIP ( szTmp, sizeof( szTmp ) );
|
|
SetDlgItemText ( IDC_TADMINPASSEDITOLD2, szTmp );
|
|
}
|
|
|
|
// < 각 컨트롤 이벤트 처리 > ___________________________________________________________________________________________________
|
|
|
|
// 상위 Dialog에서 선택한 아이템의 Index를 가져온다.
|
|
CDialog* CTAdminEditDlg::GetAdminMgrDlg( )
|
|
{
|
|
return static_cast< CDialog* >( GetParent( ) );
|
|
}
|
|
|
|
CListCtrl* CTAdminEditDlg::GetAdminMgrList( )
|
|
{
|
|
return static_cast< CListCtrl* >( GetAdminMgrDlg( )->GetDlgItem( IDC_TADMINLIST ) );
|
|
}
|
|
|
|
int CTAdminEditDlg::GetAdminListIndex( )
|
|
{
|
|
CListCtrl* AdminList = GetAdminMgrList( );
|
|
|
|
return AdminList->GetNextItem( -1, LVIS_SELECTED ); // 선택한 놈의 인덱스를 반환 한다.
|
|
}
|
|
|
|
void CTAdminEditDlg::GetSelectedID( TCHAR* szID, int Length )
|
|
{
|
|
int Index = GetAdminListIndex( );
|
|
CListCtrl* AdminList = GetAdminMgrList( );
|
|
|
|
AdminList->GetItemText( Index, 0, szID, Length );
|
|
}
|
|
|
|
void CTAdminEditDlg::GetSelectedName( TCHAR* szName, int Length )
|
|
{
|
|
int Index = GetAdminListIndex( );
|
|
CListCtrl* AdminList = GetAdminMgrList( );
|
|
|
|
AdminList->GetItemText( Index, 1, szName, Length );
|
|
}
|
|
|
|
void CTAdminEditDlg::GetSelectedLevel( TCHAR* szLv, int Length )
|
|
{
|
|
int Index = GetAdminListIndex( );
|
|
CListCtrl* AdminList = GetAdminMgrList( );
|
|
|
|
AdminList->GetItemText( Index, 2, szLv, Length );
|
|
}
|
|
|
|
void CTAdminEditDlg::GetSelectedIP( TCHAR* szIP, int Length )
|
|
{
|
|
int Index = GetAdminListIndex( );
|
|
CListCtrl* AdminList = GetAdminMgrList( );
|
|
|
|
AdminList->GetItemText( Index, 3, szIP, Length );
|
|
}
|
|
|
|
// ( 체크박스 관련 )
|
|
void CTAdminEditDlg::OnBnClickedTadminlveditchk() // 레벨 수정 체크
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
m_ctrlTAdminLVCb.EnableWindow( m_bTAdminLVEditChk );
|
|
|
|
}
|
|
|
|
void CTAdminEditDlg::OnBnClickedTadminipeditchk() // IP 수정 체크
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
m_ctrlTAdminIPEdit.EnableWindow( m_bTAdminIPEditChk );
|
|
}
|
|
|
|
void CTAdminEditDlg::OnBnClickedTadminpasseditchk() // 패스워드 수정 체크
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
m_ctrlTAdminPassEditNew.EnableWindow( m_bTAdminPassEditChk );
|
|
}
|
|
|
|
// ( 버튼 관련 )
|
|
void CTAdminEditDlg::OnBnClickedTAdminEdit() // 정보 수정 버튼 클릭
|
|
{
|
|
CString szAccount;
|
|
|
|
GetDlgItemText( IDC_TADMINPASSEDITOLD5, szAccount );
|
|
|
|
if( m_bTAdminLVEditChk ) //레벨변경
|
|
{
|
|
CComboBox* Combo = static_cast< CComboBox* >( GetDlgItem( IDC_TADMINLVEDIT ) );
|
|
int Index = Combo->GetCurSel( );
|
|
|
|
Combo->GetLBText( Index, m_strTAdminLVEdit );
|
|
if( m_strTAdminLVEdit.GetLength( ) )
|
|
{
|
|
// 레벨 변경패킷을 보낸다.
|
|
CPacketMgr::GetInstance()->SendUpdateLevel( szAccount, m_strTAdminLVEdit );
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(GetLocalString("MSG_0110"));
|
|
}
|
|
}
|
|
|
|
if( m_bTAdminIPEditChk ) //아이피 변경
|
|
{
|
|
GetDlgItemText( IDC_TADMINIPEDIT, m_strTAdminIPEdit );
|
|
|
|
if( m_strTAdminIPEdit.GetLength( ) )
|
|
{
|
|
// 아이피 변경패킷을 보낸다
|
|
CPacketMgr::GetInstance()->SendUpdateIP( szAccount, m_strTAdminIPEdit );
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(GetLocalString("MSG_0111"));
|
|
}
|
|
}
|
|
|
|
if( m_bTAdminPassEditChk ) //패스워드 변경
|
|
{
|
|
GetDlgItemText( IDC_TADMINPASSEDITNEW, m_strTAdminPassEditNew );
|
|
|
|
if( m_strTAdminPassEditNew.GetLength( ) )
|
|
{
|
|
// 패스워드 변경 패킷을 보낸다
|
|
CPacketMgr::GetInstance()->SendUpdatePassword( szAccount, m_strTAdminPassEditNew );
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(GetLocalString("MSG_0112"));
|
|
}
|
|
}
|
|
|
|
OnOK();
|
|
} |