📄 ds_rmtoolview.cpp
字号:
m_listCharacter.SetItemText( lvitem.iItem, 3, pInfo[i].sCreateDate );
m_listCharacter.SetItemText( lvitem.iItem, 4, pInfo[i].sCreateIP );
m_listCharacter.SetItemText( lvitem.iItem, 5, pInfo[i].sDeleteDate );
m_listCharacter.SetItemText( lvitem.iItem, 6, pInfo[i].sDeleteIP );
m_listCharacter.SetItemText( lvitem.iItem, 7, pInfo[i].sRecoverDate );
}
}
void CDS_RMToolView::OnRadioUserID()
{
m_nSearchKind = 0;
m_etSearch.SetWindowText( "" );
}
void CDS_RMToolView::OnRadioCharName()
{
m_nSearchKind = 1;
m_etSearch.SetWindowText( "" );
}
void CDS_RMToolView::OnRadioJumin()
{
m_nSearchKind = 2;
m_etSearch.SetWindowText( "" );
}
void CDS_RMToolView::OnUserbtnSearch()
{
if( m_etSearch.GetWindowTextLength() == 0 )
{
MessageBox("Input Search String!!", "Error", MB_OK);
return;
}
CString str;
m_etSearch.GetWindowText( str );
if( str.GetLength() > 16 )
{
MessageBox("Long Search Data!!", "Error", MB_OK);
return;
}
// 辑滚俊 八祸 夸没
TMSG_QUERYMEMBERNUM Msg;
Msg.Category = MP_RMTOOL_USER;
Msg.Protocol = MP_RMTOOL_QUERY_MEMBERNUM_SYN;
Msg.dwTemplateIdx = GetDocument()->GetDocumentIdx();
Msg.wServer = MASINFOMGR->GetCurMasInfo()->nServerSet;
Msg.wType = m_nSearchKind;
strcpy( Msg.strSearch, str.GetBuffer(0) );
NETWORK->Send( &Msg, sizeof(TMSG_QUERYMEMBERNUM) );
m_lcCharInfo.DeleteAllItems();
m_listCharacter.DeleteAllItems();
}
void CDS_RMToolView::OnDblclkListCharInfo(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CDS_RMToolDoc* pDoc = GetDocument();
if( !pDoc ) return;
int count = m_lcCharInfo.GetSelectedCount();
if( count == 0 ) return;
POSITION pos = m_lcCharInfo.GetFirstSelectedItemPosition();
if( pos == NULL )
return;
int nCurSelectedIdx = m_lcCharInfo.GetNextSelectedItem(pos);
CString str = m_lcCharInfo.GetItemText( nCurSelectedIdx, 1 );
DWORD dwCharIdx = (DWORD)atoi( (char*)(LPCTSTR)str );
DWORD dwServer = MASINFOMGR->GetCurMasInfo()->nServerSet;
// character Temp甫 凯绊 character Idx甫 逞变促.
CDS_RMToolApp* pApp = (CDS_RMToolApp*)AfxGetApp();
CCharacterDoc* pCharDoc = (CCharacterDoc*)pApp->OpenNewTemplate(eTemp_Character);
pCharDoc->OpenCharacterInfo(dwServer, pDoc->m_sUserInfo->dwMemberNo, dwCharIdx, (pDoc->m_sUserInfoOrg.bLoginFlag)?TRUE:FALSE);
AfxGetMainWnd()->BeginModalState();
int r = AfxGetMainWnd()->RunModalLoop();
if( r == 5000 )
{
AfxGetMainWnd()->EndModalState();
AfxGetMainWnd()->SendMessage(WM_CLOSE,0,0);
}
*pResult = 0;
}
void CDS_RMToolView::OnDblclkListChar(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CDS_RMToolDoc* pDoc = GetDocument();
if( !pDoc ) return;
int count = m_listCharacter.GetSelectedCount();
if( count == 0 ) return;
POSITION pos = m_listCharacter.GetFirstSelectedItemPosition();
if( pos == NULL )
return;
int nCurSelectedIdx = m_listCharacter.GetNextSelectedItem(pos);
CString str = m_listCharacter.GetItemText( nCurSelectedIdx, 0 );
DWORD dwCharIdx = (DWORD)atoi( (char*)(LPCTSTR)str );
DWORD dwServer = MASINFOMGR->GetCurMasInfo()->nServerSet;
// character Temp甫 凯绊 character Idx甫 逞变促.
CDS_RMToolApp* pApp = (CDS_RMToolApp*)AfxGetApp();
CCharacterDoc* pCharDoc = (CCharacterDoc*)pApp->OpenNewTemplate(eTemp_Character);
pCharDoc->OpenCharacterInfo(dwServer, pDoc->m_sUserInfo->dwMemberNo, dwCharIdx, (pDoc->m_sUserInfoOrg.bLoginFlag)?TRUE:FALSE);
AfxGetMainWnd()->BeginModalState();
int r = AfxGetMainWnd()->RunModalLoop();
if( r == 5000 )
{
AfxGetMainWnd()->EndModalState();
AfxGetMainWnd()->SendMessage(WM_CLOSE,0,0);
}
*pResult = 0;
}
char* CDS_RMToolView::GetUserLevel( DWORD dwUserlevel, char* temp )
{
switch( dwUserlevel )
{
case 1: sprintf( temp, "God" ); break;
case 2: sprintf( temp, "Programer" ); break;
case 3: sprintf( temp, "Developer" ); break;
case 4: sprintf( temp, "GM" ); break;
case 5: sprintf( temp, "SuperUser" ); break;
case 6: sprintf( temp, "User" ); break;
case 7: sprintf( temp, "ForChinese" ); break;
case 8: sprintf( temp, "Temp1" ); break;
case 9: sprintf( temp, "Temp2" ); break;
case 10: sprintf( temp, "Blocked User" ); break;
}
return temp;
}
void CDS_RMToolView::OnClickListChar(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION pos = m_listCharacter.GetFirstSelectedItemPosition();
if( pos == NULL )
{
m_etDelete.SetWindowText( "" );
m_etRecover.SetWindowText( "" );
m_etRecover.EnableWindow( FALSE );
m_btnCheckName.EnableWindow( FALSE );
m_btnRecover.EnableWindow( FALSE );
return;
}
int nCurSelectedIdx = m_listCharacter.GetNextSelectedItem(pos);
CString str = m_listCharacter.GetItemText( nCurSelectedIdx, 1 );
if( str != "Create" )
{
str = m_listCharacter.GetItemText( nCurSelectedIdx, 2 );
m_etRecover.EnableWindow( TRUE );
m_etDelete.SetWindowText( (char*)(LPCTSTR)str );
m_etRecover.SetWindowText( (char*)(LPCTSTR)str );
m_btnCheckName.EnableWindow( TRUE );
m_btnRecover.EnableWindow( FALSE );
}
else
{
m_etDelete.SetWindowText( "" );
m_etRecover.SetWindowText( "" );
m_etRecover.EnableWindow( FALSE );
m_btnCheckName.EnableWindow( FALSE );
m_btnRecover.EnableWindow( FALSE );
return;
}
*pResult = 0;
}
void CDS_RMToolView::OnBtnRecover()
{
if( m_wPower != eOperPower_Master )
return;
if( MessageBox( "Are You Recover Character Data?", "Msg", MB_OKCANCEL ) == IDOK )
{
if( m_etDelete.GetWindowTextLength() == 0 || m_etRecover.GetWindowTextLength() == 0 )
{
MessageBox( "Enter The Name!!", "Error!!" );
return;
}
POSITION pos = m_listCharacter.GetFirstSelectedItemPosition();
if( pos == NULL ) return;
int nCurSelectedIdx = m_listCharacter.GetNextSelectedItem(pos);
CString idx = m_listCharacter.GetItemText( nCurSelectedIdx, 0 );
CString str;
m_etRecover.GetWindowText( str );
TMSG_CHARACTERRECOVER Msg;
Msg.Category = MP_RMTOOL_USER;
Msg.Protocol = MP_RMTOOL_CHARACTER_RECOVER_SYN;
Msg.dwTemplateIdx = GetDocument()->GetDocumentIdx();
Msg.dwChrIdx = (DWORD)atoi( (char*)(LPCTSTR)idx );
strcpy( Msg.sName, (char*)(LPCTSTR)str );
NETWORK->Send( &Msg, sizeof(TMSG_CHARACTERRECOVER) );
}
}
void CDS_RMToolView::OnBtnCheckname()
{
if( m_etRecover.GetWindowTextLength() == 0 )
{
MessageBox( "Enter The Name!!", "Error!!" );
return;
}
CString str;
m_etRecover.GetWindowText( str );
TMSG_CHECKNAME Msg;
Msg.Category = MP_RMTOOL_USER;
Msg.Protocol = MP_RMTOOL_CHECKNAME_SYN;
Msg.dwTemplateIdx = GetDocument()->GetDocumentIdx();
strcpy( Msg.sName, (char*)(LPCTSTR)str );
NETWORK->Send( &Msg, sizeof(TMSG_CHECKNAME) );
}
void CDS_RMToolView::EnableRecoverButton()
{
if( m_wPower == eOperPower_Master )
m_btnRecover.EnableWindow( TRUE );
else
m_btnRecover.EnableWindow( FALSE );
}
void CDS_RMToolView::RecoverError( DWORD dwKind )
{
switch( dwKind )
{
case 1:
MessageBox( "There Is No Empty Character Slot!!", "Error!!" );
break;
case 2:
case 3:
MessageBox( "There Is Same Character Name!!", "Error!!" );
break;
case 4:
MessageBox( "Character Name Is Null!!", "Error!!" );
break;
case 5:
MessageBox( "Can't Recover!!", "ERROR!!" );
break;
}
}
void CDS_RMToolView::OnButtonChangeUserlevel()
{
if( m_wPower != eOperPower_Master )
return;
int userlevel = m_cbUserLevel.GetCurSel();
if( userlevel > -1 )
{
if( MessageBox( "Are You Really Change UserLevel?", "Confirm", MB_OKCANCEL ) == IDOK )
{
CDS_RMToolDoc* pDoc = GetDocument();
pDoc->ChangeUserLevel( userlevel + 1 );
}
}
}
void CDS_RMToolView::ChangeUserLevel( DWORD dwUserLevel )
{
char buff[256] = {0, };
m_StatusEdit[eUserTemp_LEVEL].SetWindowTextEx( GetUserLevel(dwUserLevel, buff ) );
m_cbUserLevel.SetCurSel( dwUserLevel - 1 );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -