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

📄 dlgknightageenemy.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
字号:
// DlgKnightageEnemy.cpp : implementation file
//

#include "stdafx.h"
#include "myshell.h"
#include "DlgKnightageEnemy.h"

#include "Hero.h"
#include "GamePlayerset.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgKnightageEnemy dialog


CDlgKnightageEnemy::CDlgKnightageEnemy(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgKnightageEnemy::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgKnightageEnemy)
	m_Pnt = CPoint(0, 0);
	m_bShow = false;
	m_ListMode = 0;
	//}}AFX_DATA_INIT
}


void CDlgKnightageEnemy::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgKnightageEnemy)
	DDX_Control(pDX, IDC_CHK_FRIENDLIST, m_ChkFriendList);
	DDX_Control(pDX, IDC_CHK_ENEMYLIST, m_ChkEnemyList);
	DDX_Control(pDX, IDC_BTN_DELENEMY, m_BtnDelEnemy);
	DDX_Control(pDX, IDC_BTN_ADDENEMY, m_BtnAddEnemy);
	DDX_Control(pDX, IDC_LIST_ENEMY, m_EnemyList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgKnightageEnemy, CDialog)
	//{{AFX_MSG_MAP(CDlgKnightageEnemy)
	ON_WM_CTLCOLOR()
	ON_WM_MOVE()
	ON_WM_LBUTTONDBLCLK()
	ON_BN_CLICKED(IDC_BTN_ADDENEMY, OnBtnAddenemy)
	ON_BN_CLICKED(IDC_BTN_DELENEMY, OnBtnDelenemy)
	ON_BN_CLICKED(IDC_CHK_ENEMYLIST, OnChkEnemylist)
	ON_BN_CLICKED(IDC_CHK_FRIENDLIST, OnChkFriendlist)
	ON_LBN_SETFOCUS(IDC_LIST_ENEMY, OnSetfocusListEnemy)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgKnightageEnemy message handlers

LRESULT CDlgKnightageEnemy::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	// TODO: Add your specialized code here and/or call the base class
	if (message == WM_ENABLE)
	{
		m_bShow = wParam;
		if (m_bShow) 
		{
			m_BtnAddEnemy.EnableWindow(false);
			m_BtnDelEnemy.EnableWindow(false);
			
			if (m_ListMode == 0)
			{
				m_ChkEnemyList.SetCheckValue(0);
				m_ChkFriendList.SetCheckValue(1);
				SetFriendList();
			}
			else
			{
				m_ChkEnemyList.SetCheckValue(1);
				m_ChkFriendList.SetCheckValue(0);
				SetEnemyList();
			}
		}
		else
		{
			if (m_DlgKnightageState.m_bShow) 
				m_DlgKnightageState.EnableWindow(false);
		}
	}
	else if (message == WM_COMMAND)
	{
		if (wParam == 1) 
		{
			return true;
		}
		else if (wParam == 2)
		{
			return true;
		}
	}
	else if (message == LB_SETSEL)
	{
		if (wParam == 0)
		{
			if (lParam != -1) 
			{
				m_nCurSelIndex = lParam;
				char szSynName[_MAX_NAMESIZE]="";
				m_EnemyList.GetText(m_nCurSelIndex, szSynName);
				g_objHero.QueryOtherSynicateInfo(szSynName);
			}
		}
		else if (wParam == -1) 
		{
			if (lParam != -1)
			{
				if (m_DlgKnightageState.m_bShow)
					m_DlgKnightageState.EnableWindow(FALSE);
			}
		}
	}

	return CDialog::WindowProc(message, wParam, lParam);
}

HBRUSH CDlgKnightageEnemy::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	pDC->SetBkMode ( TRANSPARENT ) ;
	return g_StockBrush;
}

BOOL CDlgKnightageEnemy::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CRect rect;
	CDlgKnightageEnemy::GetWindowRect(rect);
	// TODO: Add extra initialization here
	m_EnemyList.Init(rect.left,rect.top,NULL,2);
	m_EnemyList.SetParentCob ( this ) ;
	
	m_ChkEnemyList.Init(rect.left,rect.top,"Button827",2);
	m_ChkFriendList.Init(rect.left,rect.top,"Button826",2);
	m_BtnAddEnemy.Init(rect.left,rect.top,"Button822");
	m_BtnDelEnemy.Init(rect.left,rect.top,"Button823");

	m_DlgKnightageState.Create(IDD_DIALOG_KNIGHTAGE_STATE,CDlgKnightageEnemy::GetParent()->GetParent());
	CRect Srect;
	m_DlgKnightageState.GetWindowRect(Srect);
	m_DlgKnightageState.MoveWindow(_SCR_WIDTH - rect.Width() -  Srect.Width()-100,
		450 - rect.Height(),
		Srect.Width(),Srect.Height());
	m_DlgKnightageState.ShowWindow(SW_SHOW);
	m_DlgKnightageState.EnableWindow(false);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgKnightageEnemy::OnMove(int x, int y) 
{
	CDialog::OnMove(x, y);
	
	// TODO: Add your message handler code here
	m_Pnt.x = x;
	m_Pnt.y = y;
}

void CDlgKnightageEnemy::Show(int x, int y)
{
	if (m_bShow) 
	{
		m_EnemyList.Show(m_Pnt.x +x, m_Pnt.y +y);
		
		if (m_BtnAddEnemy.IsWindowEnabled())
			m_BtnAddEnemy.Show(m_Pnt.x+x,m_Pnt.y+y);
		if (m_BtnDelEnemy.IsWindowEnabled())
			m_BtnDelEnemy.Show(m_Pnt.x+x,m_Pnt.y+y);
		
		m_ChkFriendList.Show(m_Pnt.x + x, m_Pnt.y + y);
		m_ChkEnemyList.Show(m_Pnt.x + x, m_Pnt.y + y);
		if (m_DlgKnightageState.m_bShow) 
			m_DlgKnightageState.Show();
	}
}



void CDlgKnightageEnemy::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CDialog::OnLButtonDblClk(nFlags, point);
}

void CDlgKnightageEnemy::SetEnemyList()
{	
	if (m_ListMode != 1)
		return;
	m_EnemyList.ResetContent();
	int nAmount = g_objPlayerSet.GetAntagonizeSyndicateAmount();
	for(int i=0;i<nAmount;i++)
	{
		char strName[_MAX_NAMESIZE];
		strcpy(strName,g_objPlayerSet.GetAntagonizeNameByIndex(i));
		if(strlen(strName))
		{
			m_EnemyList.InsertString ( i, strName ) ;
			m_EnemyList.SetListRealIndex ( i, 1 ) ;			
		}
	}
}

void CDlgKnightageEnemy::SetFriendList()
{
	if (m_ListMode != 0)
		return;	
	m_EnemyList.ResetContent();
	int nAmount = g_objPlayerSet.GetAllySyndicateAmount();
	for(int i=0;i<nAmount;i++)
	{
		char strName[_MAX_NAMESIZE];
		strcpy(strName,g_objPlayerSet.GetAllySyndicateNameByIndex(i));
		if (strlen(strName))
		{
			m_EnemyList.InsertString ( i, strName ) ;
			m_EnemyList.SetListRealIndex ( i, 1 ) ;			
		}
	}	
}

void CDlgKnightageEnemy::OnBtnAddenemy() 
{
	// TODO: Add your control notification handler code here
	DXPlaySound ( "Sound/Dlg_ok.wav" ) ;
	if (g_objHero.IsSynLeader())
	{
		if(m_ListMode == 1)
			CDlgKnightageEnemy::GetParent()->GetParent()->PostMessage(WM_MY_MESSAGE,ON_FACTION_ADDENEMY);
		else
			CDlgKnightageEnemy::GetParent()->GetParent()->PostMessage(WM_MY_MESSAGE,ON_FACTION_ADDALLY);
		
		m_BtnAddEnemy.EnableWindow(false);
		m_BtnDelEnemy.EnableWindow(false);
	}
}

void CDlgKnightageEnemy::OnBtnDelenemy() 
{
	// TODO: Add your control notification handler code here
	DXPlaySound ( "Sound/Dlg_ok.wav" ) ;
	if(g_objHero.IsSynLeader())
	{

		char szName[_MAX_NAMESIZE]="";
		m_EnemyList.GetText(m_EnemyList.GetCurSel(),szName);
		if (strlen(szName) >0 )
		{
			if (m_ListMode == 1) 
				g_objHero.ClearAntagonizeSyn(szName);
			else
				g_objHero.ClearAllySyn(szName);
		}
		m_BtnAddEnemy.EnableWindow(false);
		m_BtnDelEnemy.EnableWindow(false);		
	}
}

void CDlgKnightageEnemy::OnChkEnemylist() 
{
	// TODO: Add your control notification handler code here
	DXPlaySound ( "Sound/Dlg_ok.wav" ) ;
	if (m_ListMode != 1)
	{
		m_BtnAddEnemy.EnableWindow(false);
		m_BtnDelEnemy.EnableWindow(false);
		m_ListMode = 1;
		m_ChkFriendList.SetCheckValue(0);
		m_ChkEnemyList.SetCheckValue(1);
		SetEnemyList();
	}
}


void CDlgKnightageEnemy::OnChkFriendlist() 
{
	// TODO: Add your control notification handler code here
	DXPlaySound ( "Sound/Dlg_ok.wav" ) ;
	if (m_ListMode != 0)
	{
		m_BtnAddEnemy.EnableWindow(false);
		m_BtnDelEnemy.EnableWindow(false);
		m_ListMode = 0;
		m_ChkFriendList.SetCheckValue(1);
		m_ChkEnemyList.SetCheckValue(0);
		SetFriendList();
	}	
}

void CDlgKnightageEnemy::OnSetfocusListEnemy() 
{
	// TODO: Add your control notification handler code here
	if (g_objHero.IsSynLeader()) 
	{
		m_BtnAddEnemy.EnableWindow();
		m_BtnDelEnemy.EnableWindow();
	}
	else
	{
		m_BtnAddEnemy.EnableWindow(false);
		m_BtnDelEnemy.EnableWindow(false);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -