Files
Client/Server/AdminTool/AdminToolClient/TAdminManagementDlg.cpp
LGram16 dd97ddec92 Restructure repository to include all source folders
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>
2025-11-29 20:17:20 +09:00

212 lines
5.7 KiB
C++

// TAdminManagementDlg.cpp : 구현 파일입니다.
#include "stdafx.h"
#include "AdminToolClient.h"
#include "TAdminManagementDlg.h"
#include "TAdminRegistrationDlg.h"
#include "TAdminEditDlg.h"
#include "TAdminUseLogDlg.h"
#include "GlobalFunctions.h"
#include "WindowMgr.h"
#include "PacketManager.h"
#include ".\tadminmanagementdlg.h"
// TAdminManagementDlg 다이얼로그 입니다.
IMPLEMENT_DYNAMIC(CTAdminManagementDlg, CDialog)
CTAdminManagementDlg::CTAdminManagementDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTAdminManagementDlg::IDD, pParent)
{
}
CTAdminManagementDlg::~CTAdminManagementDlg()
{
m_imgLargeImage.DeleteImageList();
m_imgSmallImage.DeleteImageList();
}
void CTAdminManagementDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TADMINLIST, m_ctrlTAdminList);
}
BEGIN_MESSAGE_MAP(CTAdminManagementDlg, CDialog)
ON_BN_CLICKED(IDC_ADMINREGBUTTON, OnBnClickedTAdminregbutton)
ON_BN_CLICKED(IDC_ADMINEDITBUTTON, OnBnClickedTAdmineditbutton)
ON_BN_CLICKED(IDC_ADMINUSELOGBUTTON, OnBnClickedTAdminuselogbutton)
ON_BN_CLICKED(IDC_TADMINDELBUTTON, OnBnClickedTadmindelbutton)
ON_NOTIFY(NM_DBLCLK, IDC_TADMINLIST, OnNMDblclkTadminlist)
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_TADMINEDITCM, OnTadmineditcm)
ON_COMMAND(ID_TADMINUSELOGCM, OnTadminuselogcm)
ON_COMMAND(ID_TADMINDELCM, OnTadmindelcm)
ON_WM_DESTROY()
ON_NOTIFY(LVN_COLUMNCLICK, IDC_TADMINLIST, OnLvnColumnclickTadminlist)
END_MESSAGE_MAP()
// TAdminManagementDlg 메세지 처리기입니다.
BOOL CTAdminManagementDlg::OnInitDialog()
{
CDialog::OnInitDialog();
INSERT_WINDOW(IDD_TADMINMANAGEMENTDLG, static_cast<CWnd*>(this));
m_ctrlTAdminList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
m_ctrlTAdminList.SetBkColor(COLORREF RGB(255, 254, 217));
m_ctrlTAdminList.SetTextBkColor(COLORREF RGB(255, 254, 217));
m_imgLargeImage.Create(IDB_LARGE, 32, 1, RGB(0, 128, 128));
m_ctrlTAdminList.SetImageList(&m_imgLargeImage, LVSIL_NORMAL);
m_imgSmallImage.Create(IDB_SMALL, 16, 1, RGB(0, 128, 128));
m_ctrlTAdminList.SetImageList(&m_imgSmallImage, LVSIL_SMALL);
m_ctrlTAdminList.InsertColumn(0, GetLocalString("ADMIN_ID"), LVCFMT_LEFT, 100);
m_ctrlTAdminList.InsertColumn(1, GetLocalString("ADMIN_NAME"), LVCFMT_LEFT, 90);
m_ctrlTAdminList.InsertColumn(2, GetLocalString("ADMIN_LV"), LVCFMT_LEFT, 110);
m_ctrlTAdminList.InsertColumn(3, GetLocalString("ADMIN_IP"), LVCFMT_LEFT, 130);
m_ctrlTAdminList.InsertColumn(4, GetLocalString("REG_DATE"), LVCFMT_LEFT, 115);
CPacketMgr::GetInstance()->RequestAdminList();
SetUIString(this->m_hWnd, IDD_TADMINMANAGEMENTDLG, "IDD_TADMINMANAGEMENTDLG");
SetUIString(this->m_hWnd, IDC_TADMINLIST_01, "IDC_TADMINLIST_01");
SetUIString(this->m_hWnd, IDC_TADMINREGBUTTON, "IDC_TADMINREGBUTTON");
SetUIString(this->m_hWnd, IDC_TADMINDELBUTTON, "IDC_TADMINDELBUTTON");
SetUIString(this->m_hWnd, IDC_TADMINEDITBUTTON, "IDC_TADMINEDITBUTTON");
SetUIString(this->m_hWnd, IDC_TADMINUSELOGBUTTON, "IDC_TADMINUSELOGBUTTON");
SetWindowText(GetLocalString("IDD_TADMINMANAGEMENTDLG"));
return TRUE;
}
void CTAdminManagementDlg::OnDestroy()
{
ERASE_WINDOW(IDD_TADMINMANAGEMENTDLG);
CDialog::OnDestroy();
}
void CTAdminManagementDlg::OnBnClickedTAdminregbutton()
{
TAdminRegistration();
}
void CTAdminManagementDlg::OnBnClickedTAdmineditbutton()
{
TAdminEdit();
}
void CTAdminManagementDlg::OnBnClickedTadmindelbutton()
{
TAdminDelete();
}
void CTAdminManagementDlg::OnBnClickedTAdminuselogbutton()
{
TAdminUseLogView();
}
void CTAdminManagementDlg::OnNMDblclkTadminlist(NMHDR *pNMHDR, LRESULT *pResult)
{
this->TAdminUseLogView();
*pResult = 0;
}
void CTAdminManagementDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
if( pWnd->GetSafeHwnd() == m_ctrlTAdminList.GetSafeHwnd() && m_ctrlTAdminList.GetSelectedCount() == 1)
{
CMenu muTemp, *pContextMenu;
muTemp.LoadMenu(IDR_TADMINMANAGEMENTMENU);
pContextMenu = muTemp.GetSubMenu(0);
pContextMenu->ModifyMenu(0, MF_STRING | MF_BYPOSITION, ID_TADMINEDITCM, GetLocalString("MENU_036"));
pContextMenu->ModifyMenu(1, MF_STRING | MF_BYPOSITION, ID_TADMINUSELOGCM, GetLocalString("MENU_037"));
pContextMenu->ModifyMenu(3, MF_STRING | MF_BYPOSITION, ID_TADMINDELCM, GetLocalString("MENU_038"));
pContextMenu->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
}
}
void CTAdminManagementDlg::OnTadmineditcm()
{
TAdminEdit();
}
void CTAdminManagementDlg::OnTadminuselogcm()
{
this->TAdminUseLogView();
}
void CTAdminManagementDlg::OnTadmindelcm()
{
this->TAdminDelete();
}
void CTAdminManagementDlg::TAdminRegistration()
{
CTAdminRegistrationDlg Dlg;
Dlg.DoModal();
}
void CTAdminManagementDlg::TAdminEdit()
{
if(m_ctrlTAdminList.GetSelectedCount() == 1)
{
CTAdminEditDlg Dlg;
Dlg.DoModal();
}
else
{
AfxMessageBox(GetLocalString("MSG_0113"), MB_OK | MB_ICONINFORMATION);
}
}
void CTAdminManagementDlg::TAdminDelete()
{
if(m_ctrlTAdminList.GetSelectedCount() == 1)
{
if(IDYES == AfxMessageBox(GetLocalString("MSG_0114"), MB_YESNO | MB_ICONEXCLAMATION))
{
TCHAR szAccount[20];
int Index = m_ctrlTAdminList.GetNextItem( -1, LVIS_SELECTED );
m_ctrlTAdminList.GetItemText( Index, 0, szAccount, sizeof( szAccount ) );
CString Tmp = szAccount;
CPacketMgr::GetInstance()->SendDeleteAdmin( szAccount );
}
}
else
{
AfxMessageBox(GetLocalString("MSG_0113"), MB_OK | MB_ICONINFORMATION);
}
}
void CTAdminManagementDlg::TAdminUseLogView()
{
if(m_ctrlTAdminList.GetSelectedCount() == 1)
{
CTAdminUseLogDlg Dlg;
Dlg.DoModal();
}
else
{
AfxMessageBox(GetLocalString("MSG_0113"), MB_OK | MB_ICONINFORMATION);
}
}
void CTAdminManagementDlg::OnLvnColumnclickTadminlist(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
*pResult = 0;
}