// AdminStoreDlgBar.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "AdminToolClient.h" #include "AdminStoreDlgBar.h" #include "ListCtrlSortClass.h" #include "PacketManager.h" #include "WindowMgr.h" #include "GlobalFunctions.h" IMPLEMENT_DYNAMIC(CAdminStoreDlgBar, CInitDialogBar) CAdminStoreDlgBar::CAdminStoreDlgBar() : m_bSortListAsc(false) { INSERT_WINDOW(IDD_STATUS_DLGBAR, static_cast(this)); } CAdminStoreDlgBar::~CAdminStoreDlgBar() { ERASE_WINDOW(IDD_STATUS_DLGBAR); } void CAdminStoreDlgBar::DoDataExchange(CDataExchange* pDX) { CInitDialogBar::DoDataExchange(pDX); DDX_Control(pDX, IDC_ADMINSTORELIST, m_ctrlAdminStoreList); DDX_Control(pDX, IDC_WORKREPORT_LIST, m_ctrlWorkReportList); } BEGIN_MESSAGE_MAP(CAdminStoreDlgBar, CInitDialogBar) ON_WM_CONTEXTMENU() ON_COMMAND(ID_AS_ITEMCOPY, OnAstoreitemcopy) ON_COMMAND(ID_AS_ITEMEDIT, OnAsItemedit) ON_COMMAND(ID_AS_ITEMDEL, OnAsItemdel) ON_NOTIFY(LVN_COLUMNCLICK, IDC_ADMINSTORELIST, OnLvnColumnclickAdminstorelist) ON_NOTIFY(NM_CLICK, IDC_ADMINSTORELIST, OnNMClickAdminstorelist) ON_NOTIFY(NM_DBLCLK, IDC_ADMINSTORELIST, OnNMDblclkAdminstorelist) ON_MESSAGE(WM_INITDIALOG, InitDialog) END_MESSAGE_MAP() // CAdminStoreDlgBar ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. LRESULT CAdminStoreDlgBar::InitDialog(WPARAM, LPARAM) { UpdateData(FALSE); OnInitDialog(); return 0L; } BOOL CAdminStoreDlgBar::OnInitDialog() { SetUIString(this->m_hWnd, IDC_BOTTOMBAR_01, "IDC_BOTTOMBAR_01"); SetUIString(this->m_hWnd, IDC_BOTTOMBAR_02, "IDC_BOTTOMBAR_02"); return TRUE; } void CAdminStoreDlgBar::OnContextMenu(CWnd* pWnd, CPoint point) { if(pWnd->GetSafeHwnd() == m_ctrlAdminStoreList.GetSafeHwnd() && m_ctrlAdminStoreList.GetSelectedCount() == 1) { CMenu muTemp, *pContextMenu; muTemp.LoadMenu(IDR_CONTEXTMENU); pContextMenu = muTemp.GetSubMenu(8); pContextMenu->ModifyMenu(0, MF_STRING | MF_BYPOSITION, ID_AS_ITEMCOPY, GetLocalString("MENU_027")); pContextMenu->ModifyMenu(2, MF_STRING | MF_BYPOSITION, ID_AS_ITEMEDIT, GetLocalString("MENU_024")); pContextMenu->ModifyMenu(3, MF_STRING | MF_BYPOSITION, ID_AS_ITEMDEL, GetLocalString("MENU_025")); pContextMenu->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this); } } void CAdminStoreDlgBar::OnAstoreitemcopy() { int iSelIndex = m_ctrlAdminStoreList.GetNextItem(-1, LVNI_SELECTED); CPacketMgr::GetInstance()->SendPktGetAdminStoreItem( PktAdminMgr::PktGetAdminStoreItem::CREATE, _ttol(m_ctrlAdminStoreList.GetItemText(iSelIndex, 0))); } void CAdminStoreDlgBar::OnAsItemedit() { int iSelIndex = m_ctrlAdminStoreList.GetNextItem(-1, LVNI_SELECTED); CPacketMgr::GetInstance()->SendPktGetAdminStoreItem( PktAdminMgr::PktGetAdminStoreItem::EDIT, _ttol(m_ctrlAdminStoreList.GetItemText(iSelIndex, 0))); } void CAdminStoreDlgBar::OnAsItemdel() { int iSelIndex = m_ctrlAdminStoreList.GetNextItem(-1, LVNI_SELECTED); CPacketMgr::GetInstance()->SendPktAdminStoreDelete( _ttol(m_ctrlAdminStoreList.GetItemText(iSelIndex, 0))); } void CAdminStoreDlgBar::OnLvnColumnclickAdminstorelist(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR); if(pNMLV->iSubItem == m_iSortListItem) { m_bSortListAsc = !m_bSortListAsc; } else { m_iSortListItem = pNMLV->iSubItem; m_bSortListAsc = true; } SortListWndItem(&m_ctrlAdminStoreList, m_iSortListItem); *pResult = 0; } void CAdminStoreDlgBar::SortListWndItem(CListCtrl* pListCtrl, const int iCol) { CListCtrlSortClass SortClass(pListCtrl,iCol); switch(m_iSortListItem) { case SORT_TYPE::STORE_ID: SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT); break; case SORT_TYPE::SERVER_GROUP: SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING); break; case SORT_TYPE::OWNER: SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING); break; case SORT_TYPE::NAME: SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING); break; } } void CAdminStoreDlgBar::OnNMClickAdminstorelist(NMHDR *pNMHDR, LRESULT *pResult) { if(g_bItemGrab) { char StoreBuffer[PktAdminMgr::PktAdminStoreInsert::MAX_ITEM_INFO]; unsigned long dwStoreBufferLength = 0; g_stMyItemInfo.m_stItemInfo.AdminStore_Out(StoreBuffer, dwStoreBufferLength); CPacketMgr::GetInstance()->SendPktAdminStoreInsert(PktAdminMgr::PktAdminStoreInsert::EMPTY_SERVERID, _T("Adminstrator"), CONV_CLISTR(g_stMyItemInfo.m_stItemInfo.m_szItemName), StoreBuffer); } *pResult = 0; } void CAdminStoreDlgBar::OnNMDblclkAdminstorelist(NMHDR *pNMHDR, LRESULT *pResult) { if(!g_bItemGrab) { OnAsItemedit(); } *pResult = 0; } void CAdminStoreDlgBar::WorkReport(CString report, REPORT_TYPE eType) { CString contents; SYSTEMTIME SysTime; GetLocalTime(&SysTime); contents.Format(_T("[%04d-%02d-%02d %02d:%02d:%02d] %s"), SysTime.wYear, SysTime.wMonth, SysTime.wDay, SysTime.wHour, SysTime.wMinute, SysTime.wSecond, report); switch(eType){ case GENERAL: m_ctrlWorkReportList.AddLine(CXListBox::White, CXListBox::Black, contents); break; case NOTIFY: m_ctrlWorkReportList.AddLine(CXListBox::Aqua, CXListBox::Black, contents); break; case CAUTION: m_ctrlWorkReportList.AddLine(CXListBox::Yellow, CXListBox::Black, contents); break; case SUCCESS: m_ctrlWorkReportList.AddLine(CXListBox::Lime, CXListBox::Black, contents); break; case FAILED: m_ctrlWorkReportList.AddLine(CXListBox::Fuschia, CXListBox::Black, contents); break; } } void CAdminStoreDlgBar::SetGoldEditBox(unsigned __int64 i64Gold) { // ¿©±â¼­ ´ÜÀ§¸¦ Àû´çÈ÷ Á¶Á¤Çؼ­ Ãâ·Â! //SetDlgItemText( }