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

📄 dlgemblembuy.cpp

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

#include "stdafx.h"
#include "myshell.h"
#include "DlgEmblemBuy.h"

#include "3DRoleData.h"
#include "NetCmd.h"

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

const int	EMBLEM_PAGE_AMOUNT = 6 ;
/////////////////////////////////////////////////////////////////////////////
// CDlgEmblemBuy dialog


CDlgEmblemBuy::CDlgEmblemBuy(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgEmblemBuy::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgEmblemBuy)
	m_bShow = false ;
	m_nCurPage = 0 ;
	m_nCurIndex = -1 ;
	//}}AFX_DATA_INIT
}


void CDlgEmblemBuy::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgEmblemBuy)
	DDX_Control(pDX, IDC_BTN_OK, m_BtnOk);
	DDX_Control(pDX, IDC_IMG_EMBLEM6, m_Img6);
	DDX_Control(pDX, IDC_IMG_EMBLEM5, m_Img5);
	DDX_Control(pDX, IDC_IMG_EMBLEM4, m_Img4);
	DDX_Control(pDX, IDC_IMG_EMBLEM3, m_Img3);
	DDX_Control(pDX, IDC_IMG_EMBLEM2, m_Img2);
	DDX_Control(pDX, IDC_IMG_EMBLEM1, m_Img1);
	DDX_Control(pDX, IDC_BTN_UP, m_BtnUp);
	DDX_Control(pDX, IDC_BTN_DOWN, m_BtnDown);
	DDX_Control(pDX, IDC_BTN_CLOSE, m_BtnClose);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgEmblemBuy, CDialog)
	//{{AFX_MSG_MAP(CDlgEmblemBuy)
	ON_WM_CTLCOLOR()
	ON_WM_MOVE()
	ON_BN_CLICKED(IDC_BTN_UP, OnBtnUp)
	ON_BN_CLICKED(IDC_BTN_DOWN, OnBtnDown)
	ON_BN_CLICKED(IDC_BTN_CLOSE, OnBtnClose)
	ON_BN_CLICKED(IDC_IMG_EMBLEM1, OnImgEmblem1)
	ON_BN_CLICKED(IDC_IMG_EMBLEM2, OnImgEmblem2)
	ON_BN_CLICKED(IDC_IMG_EMBLEM3, OnImgEmblem3)
	ON_BN_CLICKED(IDC_IMG_EMBLEM4, OnImgEmblem4)
	ON_BN_CLICKED(IDC_IMG_EMBLEM5, OnImgEmblem5)
	ON_BN_CLICKED(IDC_IMG_EMBLEM6, OnImgEmblem6)
	ON_BN_CLICKED(IDC_BTN_OK, OnBtnOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgEmblemBuy message handlers

LRESULT CDlgEmblemBuy::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	if ( message == WM_ENABLE )
	{
		m_bShow = wParam ;
		if ( wParam == false )
		{
			m_nCurPage = 0 ;			
			DXPlaySound ( "Sound/DlgClose.wav" ) ;
		}
	}
	else if ( message == WM_COMMAND )
	{
		if ( wParam == 1 )
		{
			return true ;
		}
		else if ( wParam == 2 )
		{
			return true ;
		}

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

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

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

	// Init the image
	m_Img6.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;
	m_Img5.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;
	m_Img4.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;
	m_Img3.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;
	m_Img2.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;
	m_Img1.Init( rect.left, rect.top, NULL, EMBLEM_IMAGE ) ;

	// Init the button
	m_BtnUp.Init( rect.left, rect.top, "Button111" ) ;
	m_BtnDown.Init( rect.left, rect.top, "Button112" ) ;
	m_BtnClose.Init( rect.left, rect.top, "Button540" ) ;
	m_BtnOk.Init( rect.left, rect.top, "Button0" ) ;

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

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

void CDlgEmblemBuy::Show()
{
	if ( m_bShow )
	{
		// Show the owner
		CAni* ShowAni = g_objGameDataSet.GetDataAni ( ( char * )g_strControlAni,
														  "Dialog11",
														  EXIGENCE_IMMEDIATE ) ;
		if ( ShowAni != NULL )
		{
			ShowAni->Show( 0, 
						   m_Pnt.x - 36,
						   m_Pnt.y  );
			ShowAni->Show( 1,
						   m_Pnt.x,
						   m_Pnt.y + 150 ) ;
			ShowAni->Show( 4,
						   m_Pnt.x + 56,
						   m_Pnt.y + 118 ) ;
		}
		else
			return ;

		// Show the image
		m_Img1.Show( m_Pnt.x, m_Pnt.y ) ;
		m_Img2.Show( m_Pnt.x, m_Pnt.y ) ;
		m_Img3.Show( m_Pnt.x, m_Pnt.y ) ;
		m_Img4.Show( m_Pnt.x, m_Pnt.y ) ;
		m_Img5.Show( m_Pnt.x, m_Pnt.y ) ;
		m_Img6.Show( m_Pnt.x, m_Pnt.y ) ;

		switch ( m_nCurIndex )
		{
		case 0:
			m_Img1.ShowFocus() ;
			break ;
		case 1:
			m_Img2.ShowFocus() ;
			break ;
		case 2:
			m_Img3.ShowFocus() ;
			break ;
		case 3:
			m_Img4.ShowFocus() ;
			break ;
		case 4:
			m_Img5.ShowFocus() ;
			break ;
		case 5:
			m_Img6.ShowFocus() ;
			break ;
		default:
			break ;
		}

		// Show the button
		m_BtnUp.Show( m_Pnt.x, m_Pnt.y ) ;
		m_BtnDown.Show( m_Pnt.x, m_Pnt.y ) ;
		m_BtnClose.Show( m_Pnt.x, m_Pnt.y ) ;
		m_BtnOk.Show( m_Pnt.x, m_Pnt.y ) ;
	}
}

void CDlgEmblemBuy::SetEmblemBuy()
{
	m_nCurPage = 0 ;
	m_nCurIndex = -1 ;
	CDlgEmblemBuy::InsertEmblem() ;
}

void CDlgEmblemBuy::InsertEmblem()
{
	m_Img1.RemoveImage() ;
	m_Img2.RemoveImage() ;
	m_Img3.RemoveImage() ;
	m_Img4.RemoveImage() ;
	m_Img5.RemoveImage() ;
	m_Img6.RemoveImage() ;

	int nAmount = ( g_obj3DRoleData.GetEmblemAmount() > m_nCurPage * EMBLEM_PAGE_AMOUNT + EMBLEM_PAGE_AMOUNT ) ? EMBLEM_PAGE_AMOUNT : g_obj3DRoleData.GetEmblemAmount() - m_nCurPage * EMBLEM_PAGE_AMOUNT ;
	for ( int i = 0; i < nAmount; i++ )
	{
		switch ( i )
		{
		case 0:
			m_Img1.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		case 1:
			m_Img2.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		case 2:
			m_Img3.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		case 3:
			m_Img4.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		case 4:
			m_Img5.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		case 5:
			m_Img6.InsertImage( NULL, m_nCurPage * EMBLEM_PAGE_AMOUNT + i ) ;
			break ;
		default:
			break ;
		}
	}
}

void CDlgEmblemBuy::OnBtnUp() 
{
	if ( m_nCurPage > 0 )
	{
		m_nCurPage-- ;
		m_nCurIndex = -1 ;
		CDlgEmblemBuy::InsertEmblem() ;
	}
}

void CDlgEmblemBuy::OnBtnDown() 
{
	if ( g_obj3DRoleData.GetEmblemAmount() > m_nCurPage * EMBLEM_PAGE_AMOUNT + EMBLEM_PAGE_AMOUNT )
	{
		m_nCurPage++ ;
		m_nCurIndex = -1 ;
		CDlgEmblemBuy::InsertEmblem() ;
	}
}

void CDlgEmblemBuy::OnBtnClose() 
{
	CDlgEmblemBuy::EnableWindow( false ) ;	
}

void CDlgEmblemBuy::OnImgEmblem1() 
{
	m_nCurIndex = 0 ;	
}

void CDlgEmblemBuy::OnImgEmblem2() 
{
	m_nCurIndex = 1 ;	
}

void CDlgEmblemBuy::OnImgEmblem3() 
{
	m_nCurIndex = 2 ;	
}

void CDlgEmblemBuy::OnImgEmblem4() 
{
	m_nCurIndex = 3 ;	
}

void CDlgEmblemBuy::OnImgEmblem5() 
{
	m_nCurIndex = 4 ;	
}

void CDlgEmblemBuy::OnImgEmblem6() 
{
	m_nCurIndex = 5 ;	
}

void CDlgEmblemBuy::OnBtnOk() 
{
	if ( m_nCurIndex != -1 )
	{
		CNetCmd::SynBuyEmblem( m_nCurPage * EMBLEM_PAGE_AMOUNT + m_nCurIndex ) ;		
		CDlgEmblemBuy::EnableWindow( false ) ;
	}
}

⌨️ 快捷键说明

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