📄 logitemmoneypage.cpp
字号:
// LogItemMoneyPage.cpp : implementation file
//
#include "stdafx.h"
#include "ds_rmtool.h"
#include "LogItemMoneyPage.h"
#include "RMNetwork.h"
#include "LogDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLogItemMoneyPage property page
IMPLEMENT_DYNCREATE(CLogItemMoneyPage, CLDPropPage)
CLogItemMoneyPage::CLogItemMoneyPage() : CLDPropPage(CLogItemMoneyPage::IDD)
{
//{{AFX_DATA_INIT(CLogItemMoneyPage)
m_bCharName = FALSE;
m_bItemName = FALSE;
m_bDBIdx = FALSE;
m_bOneDay = FALSE;
//}}AFX_DATA_INIT
m_LogTable.Initialize( 1000 );
m_pDocument = NULL;
m_bStart = FALSE;
for( int i = 0; i < 14; ++i )
m_bVOption[i] = TRUE;
}
CLogItemMoneyPage::~CLogItemMoneyPage()
{
ReleaseLogTable();
}
void CLogItemMoneyPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLogItemMoneyPage)
DDX_Control(pDX, IDC_DATETIMEPICKER_START, m_StartTime);
DDX_Control(pDX, IDC_DATETIMEPICKER_END, m_EndTime);
DDX_Control(pDX, IDC_EDIT_CHARIDX, m_etCharIdx);
DDX_Control(pDX, IDC_BUTTON_VIEWEROPTION, m_btnViewerOption);
DDX_Control(pDX, IDC_COMBO_VIEWER_HOW, m_cbViewerHow);
DDX_Control(pDX, IDC_COMBO_LOG_ITEMNAME, m_cbItemName);
DDX_Control(pDX, IDC_EDIT_LOG_DBIDX, m_etDBIdx);
DDX_Control(pDX, IDC_EDIT_LOG_CHARNAME, m_etCharName);
DDX_Control(pDX, IDC_LISTCTRL_ITEMMONEYLOG, m_lcItemMoneyLog);
DDX_Check(pDX, IDC_CHECK_LOG_CHARNAME, m_bCharName);
DDX_Check(pDX, IDC_CHECK_LOG_ITEMNAME, m_bItemName);
DDX_Check(pDX, IDC_CHECK_LOG_DBIDX, m_bDBIdx);
DDX_Check(pDX, IDC_CHECK_LOG_ONEDAY, m_bOneDay);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLogItemMoneyPage, CPropertyPage)
//{{AFX_MSG_MAP(CLogItemMoneyPage)
ON_WM_CREATE()
ON_BN_CLICKED(IDC_CHECK_LOG_CHARNAME, OnCheckLogCharname)
ON_BN_CLICKED(IDC_CHECK_LOG_ITEMNAME, OnCheckLogItemname)
ON_BN_CLICKED(IDC_CHECK_LOG_DBIDX, OnCheckLogDbidx)
ON_BN_CLICKED(IDC_BUTTON_LOG_SEARCH, OnButtonLogSearch)
ON_BN_CLICKED(IDC_CHECK_LOG_ONEDAY, OnCheckLogOneday)
ON_CBN_SELCHANGE(IDC_COMBO_VIEWER_HOW, OnSelchangeComboViewerHow)
ON_BN_CLICKED(IDC_BUTTON_VIEWEROPTION, OnButtonVieweroption)
ON_BN_CLICKED(IDC_BTN_SAVETOFILE, OnBtnSavetofile)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLogItemMoneyPage message handlers
int CLogItemMoneyPage::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CPropertyPage::OnCreate(lpCreateStruct) == -1)
return -1;
return 0;
}
BOOL CLogItemMoneyPage::OnInitDialog()
{
CPropertyPage::OnInitDialog();
//
m_bOneDay = TRUE;
m_bCharName = TRUE;
m_etCharName.EnableWindow( m_bCharName );
InitComboItemName();
InitComboViewerHow();
// m_Font.CreatePointFont(100, "Arial");
// m_lcItemMoneyLog.SetFont( &m_Font );
UpdateData( FALSE );
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CLogItemMoneyPage::InitComboItemName()
{
m_cbItemName.ResetContent();
CYHHashTable<ITEM_INFO>* pItemInfoList = GAMERESRCMNGR->GetItemInfo();
ITEM_INFO* pData = NULL;
int index = 0;
pItemInfoList->SetPositionHead();
while( pData = pItemInfoList->GetData() )
{
m_cbItemName.AddString( pData->ItemName );
m_cbItemName.SetItemData( index, pData->ItemIdx );
++index;
}
m_cbItemName.SetCurSel( 0 );
}
void CLogItemMoneyPage::OnCheckLogOneday()
{
m_bOneDay = !m_bOneDay;
// m_StartTime.EnableWindow( !m_bOneDay );
m_EndTime.EnableWindow( !m_bOneDay );
UpdateData( FALSE );
}
void CLogItemMoneyPage::OnCheckLogCharname()
{
m_bCharName = !m_bCharName;
m_etCharName.EnableWindow( m_bCharName );
UpdateData( FALSE );
}
void CLogItemMoneyPage::OnCheckLogItemname()
{
m_bItemName = !m_bItemName;
if( m_bItemName )
m_bDBIdx = FALSE;
m_cbItemName.EnableWindow( m_bItemName );
m_etDBIdx.EnableWindow( m_bDBIdx );
UpdateData( FALSE );
}
void CLogItemMoneyPage::OnCheckLogDbidx()
{
m_bDBIdx = !m_bDBIdx;
if( m_bDBIdx )
m_bItemName = FALSE;
m_etDBIdx.EnableWindow( m_bDBIdx );
m_cbItemName.EnableWindow( m_bItemName );
UpdateData( FALSE );
}
void CLogItemMoneyPage::OnButtonLogSearch()
{
CString sName;
DWORD dwItem = 0;
// logtype
DWORD dwLogType;
if( m_bCharName == FALSE && m_bDBIdx == FALSE && m_bItemName == FALSE )
{
MessageBox( "Enter The Search Data!!", "Error" );
return;
}
else if( m_bCharName == TRUE && m_bDBIdx == FALSE && m_bItemName == FALSE ) // 捞抚父,
{
dwLogType = eSearchType_ChrName;
if( m_etCharName.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Character Name!!", "Error" );
return;
}
else
m_etCharName.GetWindowText( sName );
}
else if( m_bCharName == TRUE && m_bDBIdx == TRUE && m_bItemName == FALSE )
{
dwLogType = eSearchType_ChrNameItemDBIdx;
if( m_etCharName.GetWindowTextLength() == 0 || m_etDBIdx.GetWindowTextLength() == 0 )
{
MessageBox( "Enter The Search Data!!", "Error" );
return;
}
else
{
m_etDBIdx.GetWindowText( sName );
dwItem = atoi( (char*)(LPCTSTR)sName );
m_etCharName.GetWindowText( sName );
}
}
else if( m_bCharName == TRUE && m_bDBIdx == FALSE && m_bItemName == TRUE )
{
dwLogType = eSearchType_ChrNameItemIdx;
if( m_etCharName.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Character Name!!", "Error" );
return;
}
else
{
m_etCharName.GetWindowText( sName );
dwItem = m_cbItemName.GetItemData( m_cbItemName.GetCurSel() );
}
}
else if( m_bCharName == FALSE && m_bDBIdx == TRUE && m_bItemName == FALSE )
{
dwLogType = eSearchType_ItemDBIdx;
if( m_etDBIdx.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Search Data!!", "Error" );
return;
}
else
{
m_etDBIdx.GetWindowText( sName );
dwItem = atoi( (char*)(LPCTSTR)sName );
}
}
else if( m_bCharName == FALSE && m_bDBIdx == FALSE && m_bItemName == TRUE )
{
dwLogType = eSearchType_ItemIdx;
dwItem = m_cbItemName.GetItemData( m_cbItemName.GetCurSel() );
}
// Search
if( dwLogType == eSearchType_ItemDBIdx || dwLogType == eSearchType_ItemIdx )
{
SetCharacterIdx( 0 );
}
else
{
m_etCharName.GetWindowText( sName );
// Search
TMSG_CHECKNAME Msg;
Msg.Category = MP_RMTOOL_GAMELOG;
Msg.Protocol = MP_RMTOOL_QUERY_CHARIDX_SYN;
Msg.dwTemplateIdx = m_pDocument->GetDocumentIdx();
strcpy( Msg.sName, (char*)(LPCTSTR)sName );
NETWORK->Send( &Msg, sizeof(TMSG_CHECKNAME) );
m_pDocument->m_dwPage = 0;
}
}
void CLogItemMoneyPage::SetCharacterIdx( DWORD dwCharIdx )
{
// if( dwCharIdx == 0 )
// return;
char temp[128] = {0, };
sprintf( temp, "%d", dwCharIdx );
m_etCharIdx.SetWindowText( temp );
m_etCharIdx.EnableWindow( TRUE );
m_dwCharIdx = dwCharIdx;
CString sName, sSDate, sEDate;
DWORD dwItem = 0;
// Date
if( m_bOneDay )
{
m_StartTime.GetWindowText( sSDate );
sEDate.Empty();
}
else
{
m_StartTime.GetWindowText( sSDate );
m_EndTime.GetWindowText( sEDate );
}
// logtype
DWORD dwLogType;
if( m_bCharName == FALSE && m_bDBIdx == FALSE && m_bItemName == FALSE )
{
MessageBox( "Enter The Search Data!!", "Error" );
return;
}
else if( m_bCharName == TRUE && m_bDBIdx == FALSE && m_bItemName == FALSE ) // 捞抚父,
{
dwLogType = eSearchType_ChrName;
if( m_etCharName.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Character Name!!", "Error" );
return;
}
else
m_etCharName.GetWindowText( sName );
}
else if( m_bCharName == TRUE && m_bDBIdx == TRUE && m_bItemName == FALSE )
{
dwLogType = eSearchType_ChrNameItemDBIdx;
if( m_etCharName.GetWindowTextLength() == 0 || m_etDBIdx.GetWindowTextLength() == 0 )
{
MessageBox( "Enter The Search Data!!", "Error" );
return;
}
else
{
m_etDBIdx.GetWindowText( sName );
dwItem = atoi( (char*)(LPCTSTR)sName );
m_etCharName.GetWindowText( sName );
}
}
else if( m_bCharName == TRUE && m_bDBIdx == FALSE && m_bItemName == TRUE )
{
dwLogType = eSearchType_ChrNameItemIdx;
if( m_etCharName.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Character Name!!", "Error" );
return;
}
else
{
m_etCharName.GetWindowText( sName );
dwItem = m_cbItemName.GetItemData( m_cbItemName.GetCurSel() );
}
}
else if( m_bCharName == FALSE && m_bDBIdx == TRUE && m_bItemName == FALSE )
{
dwLogType = eSearchType_ItemDBIdx;
if( m_etDBIdx.GetWindowTextLength() == 0 )
{
MessageBox( "Enter Search Data!!", "Error" );
return;
}
else
{
m_etDBIdx.GetWindowText( sName );
dwItem = atoi( (char*)(LPCTSTR)sName );
}
}
else if( m_bCharName == FALSE && m_bDBIdx == FALSE && m_bItemName == TRUE )
{
dwLogType = eSearchType_ItemIdx;
dwItem = m_cbItemName.GetItemData( m_cbItemName.GetCurSel() );
}
// Search
TMSG_GAMELOGSEARCH GameLogSearch;
GameLogSearch.Category = MP_RMTOOL_GAMELOG;
GameLogSearch.Protocol = MP_RMTOOL_ITEMMONEYLOGFROMTYPE_SYN;
GameLogSearch.dwTemplateIdx = m_pDocument->GetDocumentIdx();
GameLogSearch.wServer = 0;
GameLogSearch.wType = dwLogType;
GameLogSearch.dwChrIdx = m_dwCharIdx;
GameLogSearch.dwItem = dwItem;
GameLogSearch.bDayOnly = m_bOneDay;
strcpy( GameLogSearch.sSDate, (char*)(LPCTSTR)sSDate );
strcpy( GameLogSearch.sEDate, (char*)(LPCTSTR)sEDate );
NETWORK->Send( &GameLogSearch, sizeof(TMSG_GAMELOGSEARCH) );
ReleaseLogTable();
m_pDocument->StartDlg();
}
void CLogItemMoneyPage::SetLogItemMoney( TMSG_LOGITEMMONEY* pMsg )
{
// if( !pMsg->bEnd )
// ReleaseLogTable();
for( int i = 0; i < pMsg->wCount; ++i )
{
LOGITEMMONEY* pData = new LOGITEMMONEY;
memcpy( pData, &pMsg->sLog[i], sizeof(LOGITEMMONEY) );
m_LogTable.Add( pData, pData->dwLogIdx );
}
InitLCItemMoneyLog();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -