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

📄 dlgkongfu.cpp

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

#include "stdafx.h"
#include "myshell.h"
#include "DlgKongfu.h"

#include "Hero.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgKongfu dialog


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


void CDlgKongfu::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgKongfu)
	DDX_Control(pDX, IDC_KONGFU_BTN_UP, m_KongfuBtnU);
	DDX_Control(pDX, IDC_KONGFU_BTN_DOWN, m_KongfuBtnD);
	DDX_Control(pDX, IDC_KONGFU_IMG1, m_KongfuImg1);
	DDX_Control(pDX, IDC_KONGFU_IMG2, m_KongfuImg2);
	DDX_Control(pDX, IDC_KONGFU_IMG3, m_KongfuImg3);
	DDX_Control(pDX, IDC_KONGFU_IMG4, m_KongfuImg4);
	DDX_Control(pDX, IDC_KONGFU_IMG5, m_KongfuImg5);
	DDX_Control(pDX, IDC_KONGFU_IMG6, m_KongfuImg6);
	DDX_Control(pDX, IDC_KONGFU_IMG7, m_KongfuImg7);
	DDX_Control(pDX, IDC_KONGFU_IMG8, m_KongfuImg8);
	DDX_Control(pDX, IDC_KONGFU_IMG9, m_KongfuImg9);
	DDX_Control(pDX, IDC_KONGFU_IMG10, m_KongfuImg10);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgKongfu, CDialog)
	//{{AFX_MSG_MAP(CDlgKongfu)
	ON_WM_CTLCOLOR()
	ON_WM_MOVE()
	ON_BN_CLICKED(IDC_KONGFU_IMG1, OnKongfuImg1)
	ON_BN_CLICKED(IDC_KONGFU_IMG2, OnKongfuImg2)
	ON_BN_CLICKED(IDC_KONGFU_IMG3, OnKongfuImg3)
	ON_BN_CLICKED(IDC_KONGFU_IMG4, OnKongfuImg4)
	ON_BN_CLICKED(IDC_KONGFU_IMG5, OnKongfuImg5)
	ON_BN_CLICKED(IDC_KONGFU_IMG6, OnKongfuImg6)
	ON_BN_CLICKED(IDC_KONGFU_IMG7, OnKongfuImg7)
	ON_BN_CLICKED(IDC_KONGFU_IMG8, OnKongfuImg8)
	ON_BN_CLICKED(IDC_KONGFU_IMG9, OnKongfuImg9)
	ON_BN_CLICKED(IDC_KONGFU_IMG10, OnKongfuImg10)
	ON_BN_CLICKED(IDC_KONGFU_BTN_UP, OnKongfuBtnUp)
	ON_BN_CLICKED(IDC_KONGFU_BTN_DOWN, OnKongfuBtnDown)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgKongfu message handlers

LRESULT CDlgKongfu::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	if ( message == WM_SHOWWINDOW )
	{
		m_bShow = wParam ;
	}
	else if ( message == WM_COMMAND )
	{
		if ( wParam == 1 )
		{
			return true ;
		}
		else if ( wParam == 2 )
		{
			return true ;
		}

	}

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

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

BOOL CDlgKongfu::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CRect rect ;
	CDlgKongfu::GetWindowRect ( rect ) ;

	// Init the image
	m_KongfuImg1.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg2.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg3.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg4.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg5.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg6.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg7.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg8.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg9.Init ( rect.left, rect.top, NULL, 3 ) ;
	m_KongfuImg10.Init ( rect.left, rect.top, NULL, 3 ) ;

	// Init the button
	m_KongfuBtnU.Init ( rect.left, rect.top, "Button173" ) ;
	m_KongfuBtnU.EnableWindow ( false ) ;
	m_KongfuBtnD.Init ( rect.left, rect.top, "Button174" ) ;
	m_KongfuBtnD.EnableWindow ( false ) ;
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgKongfu::OnMove(int x, int y) 
{
	CDialog::OnMove(x, y);
	
	m_Pnt.x = x ;
	m_Pnt.y = y ;
}

void CDlgKongfu::Show()
{
	// show the image
	if ( m_bShow )
	{
		m_KongfuImg1.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg2.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg3.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg4.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg5.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg6.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg7.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg8.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg9.Show ( m_Pnt.x, m_Pnt.y ) ;
		m_KongfuImg10.Show ( m_Pnt.x, m_Pnt.y ) ;

		if ( m_KongfuBtnU.IsWindowEnabled () )
			m_KongfuBtnU.Show ( m_Pnt.x, m_Pnt.y ) ;
		if ( m_KongfuBtnD.IsWindowEnabled () )
			m_KongfuBtnD.Show ( m_Pnt.x, m_Pnt.y ) ;
	}
}

void CDlgKongfu::InitKongfuDialog()
{
	m_nCurBase = 0 ;
	int nAmount = g_objHero.GetKongfuAmount() ;
	if ( nAmount > 10 )
	{
		m_KongfuBtnU.EnableWindow ( true ) ;
		m_KongfuBtnD.EnableWindow ( true ) ;
	}
	else
	{
		m_KongfuBtnU.EnableWindow ( false ) ;
		m_KongfuBtnD.EnableWindow ( false ) ;
	}

	for ( int i = 0; i < nAmount; i++ )
	{
		CMagic* pKongfu = g_objHero.GetKongfuByIndex(i) ;
		if ( pKongfu )
		{
			if ( g_objHero.IsTransform () && pKongfu->IsTransformMagic () )
				continue ;

			char SkillType[32] ;
			BOOL bDisable = !pKongfu->IsEnable () ;
			m_KongfuIdType[i] = pKongfu->GetIDType () ;
			sprintf ( SkillType, "MagicSkillType%d", m_KongfuIdType[i] ) ;
			switch ( i )
			{
			case 0:
				m_KongfuImg1.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 1:
				m_KongfuImg2.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 2:
				m_KongfuImg3.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 3:
				m_KongfuImg4.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 4:
				m_KongfuImg5.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 5:
				m_KongfuImg6.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 6:
				m_KongfuImg7.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 7:
				m_KongfuImg8.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 8:
				m_KongfuImg9.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			case 9:
				m_KongfuImg10.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
				break ;
			}
		}
	}
	CDlgKongfu::ShowWindow ( SW_SHOW ) ;
}

void CDlgKongfu::OnKongfuImg1() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[0 + m_nCurBase] ) ;	
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;
}

void CDlgKongfu::OnKongfuImg2() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[1 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;
}

void CDlgKongfu::OnKongfuImg3() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[2 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;	
}

void CDlgKongfu::OnKongfuImg4() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[3 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;	
}

void CDlgKongfu::OnKongfuImg5() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[4 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;	
}

void CDlgKongfu::OnKongfuImg6() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[5 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;		
}

void CDlgKongfu::OnKongfuImg7() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[6 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;		
}

void CDlgKongfu::OnKongfuImg8() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[7 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;		
}

void CDlgKongfu::OnKongfuImg9() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[8 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;		
}

void CDlgKongfu::OnKongfuImg10() 
{
	CDlgKongfu::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MAGIC_CHOOSE, m_KongfuIdType[9 + m_nCurBase] ) ;
	CDlgKongfu::ShowWindow ( SW_HIDE ) ;		
}

void CDlgKongfu::OnKongfuBtnUp() 
{
	if ( m_nCurBase > 0 )
	{
		CDlgKongfu::MoveWindow ( _SCR_WIDTH - 10 * 50 - 18,
								_SCR_HEIGHT - DLG_MAIN_HEIGHT + 18 - 100,
								10 * 50 + 18,
								50 ) ;
		m_nCurBase -= 10 ;
		for ( int i = m_nCurBase; i < m_nCurBase + 10; i++ )
		{
			CMagic* pKongfu = g_objHero.GetKongfuByIndex(i) ;
			if ( pKongfu )
			{
				char SkillType[32] ;
				BOOL bDisable = !pKongfu->IsEnable () ;
				m_KongfuIdType[i] = pKongfu->GetIDType () ;
				sprintf ( SkillType, "MagicSkillType%d", m_KongfuIdType[i] ) ;
				switch ( i - m_nCurBase )
				{
				case 0:
					m_KongfuImg1.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 1:
					m_KongfuImg2.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 2:
					m_KongfuImg3.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 3:
					m_KongfuImg4.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 4:
					m_KongfuImg5.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 5:
					m_KongfuImg6.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 6:
					m_KongfuImg7.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 7:
					m_KongfuImg8.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 8:
					m_KongfuImg9.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 9:
					m_KongfuImg10.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				}
			}
		}
	}	
}

void CDlgKongfu::OnKongfuBtnDown() 
{
	int nAmount = g_objHero.GetKongfuAmount() ;
	if ( nAmount > 10 && m_nCurBase + 10 < nAmount )
	{
		m_nCurBase += 10 ;
		nAmount = ( nAmount > m_nCurBase + 10 ) ? m_nCurBase + 10 : nAmount ;
		CDlgKongfu::MoveWindow ( _SCR_WIDTH - ( nAmount - m_nCurBase ) * 50 - 18,
								_SCR_HEIGHT - DLG_MAIN_HEIGHT + 18 - 100,
								( nAmount - m_nCurBase ) * 50 + 18,
								50 ) ;
		for ( int i = m_nCurBase; i < nAmount; i++ )
		{
			CMagic* pKongfu = g_objHero.GetKongfuByIndex(i) ;
			if ( pKongfu )
			{
				char SkillType[32] ;
				BOOL bDisable = !pKongfu->IsEnable () ;
				m_KongfuIdType[i] = pKongfu->GetIDType () ;
				sprintf ( SkillType, "MagicSkillType%d", m_KongfuIdType[i] ) ;
				switch ( i - m_nCurBase )
				{
				case 0:
					m_KongfuImg1.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 1:
					m_KongfuImg2.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 2:
					m_KongfuImg3.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 3:
					m_KongfuImg4.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 4:
					m_KongfuImg5.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 5:
					m_KongfuImg6.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 6:
					m_KongfuImg7.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 7:
					m_KongfuImg8.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 8:
					m_KongfuImg9.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				case 9:
					m_KongfuImg10.InsertImage ( SkillType, m_KongfuIdType[i], bDisable ) ;
					break ;
				}
			}
		}
	}	
	
}

⌨️ 快捷键说明

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