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>
This commit is contained in:
392
Server/AdminTool/AdminToolClient/CastleSearchDlg.cpp
Normal file
392
Server/AdminTool/AdminToolClient/CastleSearchDlg.cpp
Normal file
@@ -0,0 +1,392 @@
|
||||
// CastleSearch.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "AdminToolClient.h"
|
||||
#include "CastleSearchDlg.h"
|
||||
#include ".\castlesearchDlg.h"
|
||||
|
||||
#include "CharacterDoc.h"
|
||||
#include "GlobalFunctions.h"
|
||||
#include "PacketManager.h"
|
||||
#include "WindowMgr.h"
|
||||
|
||||
#include <Network/Protocol/RYL_AdminMgrProtocol.h>
|
||||
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
||||
#include "AdminClientConstants.h"
|
||||
#include "ListCtrlSortClass.h"
|
||||
|
||||
#include "CastleCreatureDlg.h"
|
||||
|
||||
// CCastleSearch <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
IMPLEMENT_DYNAMIC(CCastleSearchDlg, CDialog)
|
||||
CCastleSearchDlg::CCastleSearchDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CCastleSearchDlg::IDD, pParent)
|
||||
, m_dwSearchCount(0)
|
||||
, m_dwSelCount(0)
|
||||
, m_bAllServerGroupChk(TRUE)
|
||||
, m_bAllZoneGroupChk(TRUE)
|
||||
, m_strSearchValue(_T(""))
|
||||
{
|
||||
INSERT_WINDOW(IDD_CASTLESEARCHDLG, static_cast<CWnd*>(this));
|
||||
}
|
||||
|
||||
CCastleSearchDlg::~CCastleSearchDlg()
|
||||
{
|
||||
ERASE_WINDOW(IDD_CASTLESEARCHDLG);
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
DDX_Control(pDX, IDCCASTLESEARCH_SEARCHED_LIST, m_ctrlSearchedList);
|
||||
DDX_Text(pDX, IDC_CASTLESEARCH_SEARCHCOUNT, m_dwSearchCount);
|
||||
DDX_Text(pDX, IDC_CASTLESEARCH_SELCOUNT, m_dwSelCount);
|
||||
DDX_Check(pDX, IDC_CASTLESEARCH_SERVERGROUP_CHK, m_bAllServerGroupChk);
|
||||
DDX_Check(pDX, IDC_CASTLESEARCH_ZONEGROUP_CHK, m_bAllZoneGroupChk);
|
||||
DDX_Text(pDX, IDC_CASTLESEARCH_SEARCHVALUE_EDIT, m_strSearchValue);
|
||||
DDX_Control(pDX, IDC_CASTLESEARCH_SERVERGROUP_CB, m_ctrlServerGroupCb);
|
||||
DDX_Control(pDX, IDC_CASTLESEARCH_ZONEGROUP_CB, m_ctrlZoneGroupCb);
|
||||
DDX_Control(pDX, IDC_CASTLESEARCH_SEARCHCONDITION_CB, m_ctrlSearchConditionCb);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CCastleSearchDlg, CDialog)
|
||||
ON_BN_CLICKED(IDC_CASTLESEARCH_SERVERGROUP_CHK, OnBnClickedCastlesearchServergroupChk)
|
||||
ON_BN_CLICKED(IDC_CASTLESEARCH_ZONEGROUP_CHK, OnBnClickedCastlesearchZonegroupChk)
|
||||
ON_BN_CLICKED(IDC_CASTLESEARCH_SEARCH_BTN, OnBnClickedCastlesearchSearchBtn)
|
||||
ON_NOTIFY(LVN_COLUMNCLICK, IDCCASTLESEARCH_SEARCHED_LIST, OnLvnColumnclickSearchedList)
|
||||
ON_NOTIFY(NM_DBLCLK, IDCCASTLESEARCH_SEARCHED_LIST, OnNMDblclkSearchedList)
|
||||
ON_NOTIFY(LVN_ITEMCHANGED, IDCCASTLESEARCH_SEARCHED_LIST, OnLvnItemchangedSearchedList)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CCastleSearch <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
BOOL CCastleSearchDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
ServerGroupComboSet(m_ctrlServerGroupCb);
|
||||
|
||||
m_ctrlSearchConditionCb.InsertString(0, _T("CastleID"));
|
||||
|
||||
m_ctrlSearchedList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
||||
m_ctrlSearchedList.InsertColumn(0, GetLocalString("ADDED_STRING_188"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(1, GetLocalString("ADDED_STRING_189"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(2, GetLocalString("ADDED_STRING_190"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(3, GetLocalString("ADDED_STRING_191"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(4, GetLocalString("ADDED_STRING_192"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(5, GetLocalString("ADDED_STRING_193"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(6, GetLocalString("ADDED_STRING_194"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(7, GetLocalString("ADDED_STRING_195"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(8, GetLocalString("ADDED_STRING_196"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(9, GetLocalString("ADDED_STRING_197"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(10, GetLocalString("ADDED_STRING_198"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(11, GetLocalString("ADDED_STRING_199"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(12, GetLocalString("ADDED_STRING_200"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(13, GetLocalString("ADDED_STRING_201"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(14, GetLocalString("ADDED_STRING_202"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(15, GetLocalString("ADDED_STRING_203"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(16, GetLocalString("ADDED_STRING_204"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(17, GetLocalString("ADDED_STRING_205"), LVCFMT_LEFT, 65);
|
||||
m_ctrlSearchedList.InsertColumn(18, GetLocalString("ADDED_STRING_206"), LVCFMT_LEFT, 65);
|
||||
SetWindowText(GetLocalString("ADDED_STRING_207"));
|
||||
|
||||
CComboBox* lpZoneCb = static_cast<CComboBox*>(GetDlgItem(IDC_CASTLESEARCH_ZONEGROUP_CB));
|
||||
|
||||
for(int nIndex = 0; nIndex < SERVER_ID::MAX_ZONE_NUM; ++nIndex)
|
||||
{
|
||||
lpZoneCb->InsertString(nIndex, GetZoneString(nIndex));
|
||||
}
|
||||
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_SERVERGROUP_CHK, "ADDED_STRING_208");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_ZONEGROUP_CHK, "ADDED_STRING_209");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_SEARCH_BTN, "ADDED_STRING_210");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_01, "ADDED_STRING_211");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_02, "ADDED_STRING_212");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_03, "ADDED_STRING_213");
|
||||
SetUIString(this->m_hWnd, IDC_CASTLESEARCH_04, "ADDED_STRING_214");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CCastleSearchDlg::PreTranslateMessage(MSG* pMsg)
|
||||
{
|
||||
if((WM_KEYDOWN == pMsg->message) && (VK_RETURN == pMsg->wParam))
|
||||
{
|
||||
if(pMsg->hwnd == GetDlgItem(IDC_CASTLESEARCH_SEARCHVALUE_EDIT)->m_hWnd)
|
||||
{
|
||||
OnBnClickedCastlesearchSearchBtn();
|
||||
}
|
||||
}
|
||||
return CDialog::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::OnBnClickedCastlesearchServergroupChk()
|
||||
{
|
||||
UpdateData(true);
|
||||
m_ctrlServerGroupCb.EnableWindow(!m_bAllServerGroupChk);
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::OnBnClickedCastlesearchZonegroupChk()
|
||||
{
|
||||
UpdateData(true);
|
||||
m_ctrlZoneGroupCb.EnableWindow(!m_bAllZoneGroupChk);
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::OnBnClickedCastlesearchSearchBtn()
|
||||
{
|
||||
UpdateData(true);
|
||||
|
||||
unsigned char cSearchType = PktAdminMgr::PktCastleSearch::NONE;
|
||||
unsigned long dwServerGroup = 0;
|
||||
unsigned long dwZoneGroup = 0;
|
||||
TCHAR szSearchValue[MAX_PATH];
|
||||
|
||||
bool bAllServerGroupSerchFlag = false;
|
||||
bool bAllZoneGroupSerchFlag = false;
|
||||
|
||||
if(m_bAllServerGroupChk && m_bAllZoneGroupChk)
|
||||
{
|
||||
bAllServerGroupSerchFlag = true;
|
||||
bAllZoneGroupSerchFlag = true;
|
||||
|
||||
if(0 == m_strSearchValue.GetLength())
|
||||
{
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::ALLSERVER_ALLZONE_ALLCASTLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(CB_ERR == m_ctrlSearchConditionCb.GetCurSel())
|
||||
Report(GetLocalString("MSG_0100"), CAUTION);
|
||||
else if(m_ctrlSearchConditionCb.GetCurSel() == 0)
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::ALLSERVER_ALLZONE_SPECASTLE_ID;
|
||||
}
|
||||
}
|
||||
else if(m_bAllServerGroupChk && CB_ERR != m_ctrlZoneGroupCb.GetCurSel())
|
||||
{
|
||||
bAllServerGroupSerchFlag = true;
|
||||
dwZoneGroup = m_ctrlZoneGroupCb.GetCurSel();
|
||||
|
||||
if(0 == m_strSearchValue.GetLength())
|
||||
{
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::ALLSERVER_SPEZONE_ALLCASTLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(CB_ERR == m_ctrlSearchConditionCb.GetCurSel())
|
||||
Report(GetLocalString("MSG_0100"), CAUTION);
|
||||
else if(m_ctrlSearchConditionCb.GetCurSel() == 0)
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::ALLSERVER_SPEZONE_SPECASTLE_ID;
|
||||
}
|
||||
}
|
||||
else if(m_bAllZoneGroupChk && CB_ERR != m_ctrlServerGroupCb.GetCurSel())
|
||||
{
|
||||
bAllZoneGroupSerchFlag = true;
|
||||
|
||||
CString strGroupName;
|
||||
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
|
||||
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
|
||||
|
||||
|
||||
if(0 == m_strSearchValue.GetLength())
|
||||
{
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::SPESERVER_ALLZONE_ALLCASTLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(CB_ERR == m_ctrlSearchConditionCb.GetCurSel())
|
||||
Report(GetLocalString("MSG_0100"), CAUTION);
|
||||
else if(m_ctrlSearchConditionCb.GetCurSel() == 0)
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::SPESERVER_ALLZONE_SPECASTLE_ID;
|
||||
}
|
||||
}
|
||||
else if(!m_bAllServerGroupChk && !m_bAllZoneGroupChk
|
||||
&& CB_ERR != m_ctrlServerGroupCb.GetCurSel() && CB_ERR != m_ctrlZoneGroupCb.GetCurSel() )
|
||||
{
|
||||
CString strGroupName;
|
||||
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
|
||||
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
|
||||
dwZoneGroup = m_ctrlZoneGroupCb.GetCurSel();
|
||||
|
||||
if(0 == m_strSearchValue.GetLength())
|
||||
{
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::SPESERVER_SPEZONE_ALLCASTLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(CB_ERR == m_ctrlSearchConditionCb.GetCurSel())
|
||||
Report(GetLocalString("MSG_0100"), CAUTION);
|
||||
else if(m_ctrlSearchConditionCb.GetCurSel() == 0)
|
||||
cSearchType = PktAdminMgr::PktCastleSearch::SPESERVER_SPEZONE_SPECASTLE_ID;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Report(GetLocalString("ADDED_STRING_215"), CAUTION);
|
||||
}
|
||||
|
||||
if(PktAdminMgr::PktCastleSearch::NONE != cSearchType)
|
||||
{
|
||||
m_ctrlSearchedList.DeleteAllItems();
|
||||
|
||||
_tcsncpy(szSearchValue, m_strSearchValue, m_strSearchValue.GetLength());
|
||||
szSearchValue[m_strSearchValue.GetLength()] = '\0';
|
||||
|
||||
if(bAllServerGroupSerchFlag && bAllZoneGroupSerchFlag)
|
||||
{
|
||||
for(unsigned long dwServerGroup = 0; dwServerGroup < CON::MAX_GROUP_NUM; dwServerGroup++)
|
||||
for(unsigned long dwZoneGroup = 0; dwZoneGroup < SERVER_ID::MAX_ZONE_NUM; dwZoneGroup++)
|
||||
CPacketMgr::GetInstance()->SendCastleSearch(cSearchType, dwServerGroup, dwZoneGroup, szSearchValue);
|
||||
|
||||
m_dwSearchCount = 0;
|
||||
UpdateData(false);
|
||||
}
|
||||
else if(bAllServerGroupSerchFlag)
|
||||
{
|
||||
for(unsigned long dwServerGroup = 0; dwServerGroup < CON::MAX_GROUP_NUM; dwServerGroup++)
|
||||
CPacketMgr::GetInstance()->SendCastleSearch(cSearchType, dwServerGroup, dwZoneGroup, szSearchValue);
|
||||
|
||||
m_dwSearchCount = 0;
|
||||
UpdateData(false);
|
||||
}
|
||||
else if(bAllZoneGroupSerchFlag)
|
||||
{
|
||||
for(unsigned long dwZoneGroup = 0; dwZoneGroup < SERVER_ID::MAX_ZONE_NUM; dwZoneGroup++)
|
||||
CPacketMgr::GetInstance()->SendCastleSearch(cSearchType, dwServerGroup, dwZoneGroup, szSearchValue);
|
||||
|
||||
m_dwSearchCount = 0;
|
||||
UpdateData(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
CPacketMgr::GetInstance()->SendCastleSearch(cSearchType, dwServerGroup, dwZoneGroup, szSearchValue);
|
||||
|
||||
m_dwSearchCount = 0;
|
||||
UpdateData(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::OnLvnColumnclickSearchedList(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
|
||||
|
||||
if(pNMLV->iSubItem == m_iSortListItem)
|
||||
{
|
||||
m_bSortListAsc = !m_bSortListAsc;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_iSortListItem = pNMLV->iSubItem;
|
||||
m_bSortListAsc = true;
|
||||
}
|
||||
|
||||
SortListWndItem(&m_ctrlSearchedList, m_iSortListItem);
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::SortListWndItem(CListCtrl* pListCtrl, const int iCol)
|
||||
{
|
||||
CListCtrlSortClass SortClass(pListCtrl,iCol);
|
||||
|
||||
switch(m_iSortListItem)
|
||||
{
|
||||
case SORT_TYPE::ServerGroup:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::CastleID:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::Nation:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::Zone:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::Channel:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::Name:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::SiegeCount:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::InvincibleCount:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::TotalSiegeCount:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::TotalTaxMoney:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
case SORT_TYPE::Right:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::PosInX:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::PosInY:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::PosInZ:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::PosOutX:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::PosOutY:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::PosOutZ:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtFLOAT);
|
||||
break;
|
||||
case SORT_TYPE::ItemID:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
||||
break;
|
||||
case SORT_TYPE::ItemNum:
|
||||
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CCastleSearchDlg::OnNMDblclkSearchedList(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
if(0 < m_ctrlSearchedList.GetSelectedCount())
|
||||
{
|
||||
int Index = m_ctrlSearchedList.GetNextItem(-1, LVIS_SELECTED);
|
||||
if(-1 != Index)
|
||||
{
|
||||
TCHAR szValue[m_stSelCastleInfo.MAX_STRING];
|
||||
unsigned long dwServerGroup;
|
||||
unsigned long dwCastleID;
|
||||
|
||||
m_ctrlSearchedList.GetItemText(Index, 0, szValue, sizeof(szValue));
|
||||
CCharacterDoc::GetInstance().GetServerIndex(szValue, dwServerGroup);
|
||||
|
||||
m_ctrlSearchedList.GetItemText(Index, 1, szValue, sizeof(szValue));
|
||||
dwCastleID = atoi(szValue);
|
||||
|
||||
CPacketMgr::GetInstance()->SendCastleCreature(dwServerGroup, dwCastleID);
|
||||
CCastleCreatureDlg castleCreatureDlg;
|
||||
castleCreatureDlg.DoModal();
|
||||
}
|
||||
}
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
|
||||
void CCastleSearchDlg::OnLvnItemchangedSearchedList(NMHDR *pNMHDR, LRESULT *pResult)
|
||||
{
|
||||
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
|
||||
|
||||
m_dwSelCount = m_ctrlSearchedList.GetSelectedCount();
|
||||
|
||||
UpdateData(false);
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
Reference in New Issue
Block a user