⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds_rmtoolview.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		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 + -