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

📄 dlgconfirm.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// DlgConfirm.cpp : implementation file
//

#include "stdafx.h"
#include "MyShell.h"
#include "DlgConfirm.h"
#include "ND_Bitmap.h"

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

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

const float _DLG_WIDTH = 126.0;

/////////////////////////////////////////////////////////////////////////////
// CDlgConfirm dialog


CDlgConfirm::CDlgConfirm(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgConfirm::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgConfirm)
	m_bShow = false ;
	m_nEdtNum = 0 ;
	m_nLine = 0 ;
	//}}AFX_DATA_INIT
}


void CDlgConfirm::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgConfirm)
	DDX_Control(pDX, IDC_CONFIRM_EDT_NAME, m_ConfirmEdtName);
	DDX_Control(pDX, IDC_CONFIRM_BTN_OK, m_ConfirmBtnOk ) ;
	DDX_Control(pDX, IDC_CONFIRM_BTN_CANCEL, m_ConfirmBtnCancel ) ;
	DDX_Control(pDX, IDC_CONFIRM_EDT_DATA, m_ConfirmEdtData);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgConfirm, CDialog)
	//{{AFX_MSG_MAP(CDlgConfirm)
	ON_WM_CTLCOLOR()
	ON_WM_MOVE()
	ON_BN_CLICKED(IDC_CONFIRM_BTN_OK, OnConfirmBtnOk)
	ON_BN_CLICKED(IDC_CONFIRM_BTN_CANCEL, OnConfirmBtnCancel)
	ON_EN_CHANGE(IDC_CONFIRM_EDT_DATA, OnChangeConfirmEdtData)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgConfirm message handlers

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

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

	// Init the Edit
	m_ConfirmEdtData.Init ( rect.left, rect.top ) ;
	m_ConfirmEdtData.SetLimitText ( 12 ) ;
	
	m_ConfirmEdtName.Init(rect.left, rect.top );
	m_ConfirmEdtName.SetLimitText(16);
	// Init the button
	m_ConfirmBtnOk.Init ( rect.left, rect.top, "Button150" );
	m_ConfirmBtnCancel.Init ( rect.left, rect.top, "Button151" );

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

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

LRESULT CDlgConfirm::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	if ( message == WM_ENABLE )
	{
		m_bShow = wParam ;
		m_nEdtNum = 0;	
		m_ConfirmEdtData.SetFocus();
		if (wParam)
			DXPlaySound ( "Sound/Open.wav" ) ;
		else
			DXPlaySound ( "Sound/window_close.wav" ) ;		
		
	}
	else if ( message == WM_COMMAND )
	{
		if ( wParam == 1 )
		{
//			CDlgConfirm::OnConfirmBtnOk () ;
			return true ;
		}
		else if ( wParam == 2 )
		{
			CDlgConfirm::OnConfirmBtnCancel () ;
			return true ;
		}

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

void CDlgConfirm::OnConfirmBtnOk() 
{
	if(m_uType != EXIT_CONFIRM)
	   DXPlaySound ( "Sound/button_confirm.wav" ) ;
	
	if(m_ConfirmEdtName.IsWindowVisible())
	{
		char szName[64];
		m_ConfirmEdtName.GetWindowText(szName,sizeof(szName));
		if(!StringCheck(szName))
		{
			g_objGameMsg.AddMsg((char*)g_objGameDataSet.GetStr(100500));
			m_ConfirmEdtName.SetWindowText("");
			return;
		}
	}
	
	switch ( m_uType )
	{
	case FACTIONADDALLY_CONFIRM:
		{
			CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTION_ADDALLYOK , m_TargetID) ;			
		}
		break;
	case FACTIONADDENEMY_CONFIRM:
		{
			char szSynName[_MAX_NAMESIZE]="";
			m_ConfirmEdtName.GetWindowText(szSynName,16);
			if (strlen(szSynName)>0)
				g_objHero.AddAntagonizeSyn(szSynName);
		}
		break;
	case TRADE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TRADE_ACCEPT ) ;
		break ;
	case TEAMJOIN_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TEAMJOIN_ACCEPT ) ;
		break ;
	case TEAMINVITE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TEAMINVITE_ACCEPT ) ;
		break ;
	case FACTIONJOIN_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTIONJOIN_ACCEPT ) ;
		break ;
	case FACTIONINVITE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTIONINVITE_ACCEPT ) ;
		break ;
	case MONEYDROP_CONFIRM:
		if ( m_nEdtNum > 0 )
		{
			CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MONEYDROP_ACCEPT, m_nEdtNum ) ;
		}
		m_ConfirmEdtData.SetWindowText ( NULL ) ;
		break ;
	case FRIENDDEL_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FRIENDDEL_ACCEPT ) ;
		break ;
	case FRIENDADD_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FRIENDADD_ACCEPT, m_TargetID ) ;
		break ;
	case TALKDEL_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TALKDEL_ACCEPT ) ;
		break ;
	case FACTIONOUT_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTIONOUT_ACCEPT ) ;
		break ;
	case FACTIONSUB_CONFIRM:
		if ( m_nEdtNum > 0 && m_nEdtNum <= g_objHero.GetMoney () )
		{
			CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTIONSUB_ACCEPT, m_nEdtNum ) ;
		}
		m_ConfirmEdtData.SetWindowText ( NULL ) ;
		break ;
	case MPCBOOTHADD_CONFIRM:
		if ( m_nEdtNum > 0 )
		{
			CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MPCBOOTHADD_ACCEPT, m_nEdtNum ) ;
		}
		m_ConfirmEdtData.SetWindowText ( NULL ) ;
		break ;
	case MPCBOOTHCHG_CONFIRM:
		if ( m_nEdtNum > 0 )
		{
			CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MPCBOOTHCHG_ACCEPT, m_nEdtNum ) ;
		}
		m_ConfirmEdtData.SetWindowText ( NULL ) ;
		break ;
	case FACTIONDEL_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_FACTIONDEL_ACCEPT ) ;
		break ;
	case BOOTHOPEN_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_BOOTHOPEN_ACCEPT, m_TargetID ) ;
		break ;
	case MPCCOURT_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_MPCCOURT_ACCEPT, m_TargetID ) ;
		break ;
	case IMPTITEM_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_IMPTITEM_ACCEPT ,m_TargetID) ;
		break ;
	case DROPITEM_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_DROPITEM_ACCEPT ,m_TargetID) ;
		break ;
	case TACKOFF_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_TACKOFF_ACCEPT ) ;
		break ;
	case JOINDICE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_JOINDICE_ACCEPT, m_TargetID ) ;
		break ;
	case OUTDICE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_OUTDICE_ACCEPT ) ;
		break ;
	case ENEMYDEL_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_ENEMYDEL_ACCEPT ) ;
		break ;
	case RESOURCE_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, ON_RESOURCE_ACCEPT ) ;
		break ;
	case EXIT_CONFIRM:
		DXPlaySound("Sound/Exit_Ok.wav");
		CDlgConfirm::GetParent()->PostMessage( WM_MY_MESSAGE, ON_EXIT_ACCEPT, m_TargetID ) ;
		break ;
	case ROLECREATE_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage( WM_MY_MESSAGE, ON_ROLECREATE_ACCEPT, m_TargetID ) ;
		break ;
	case SPLITITEM_CONFIRM:
		if ( m_nEdtNum > 0 )
		{
			LPARAM lParam = MAKELONG( m_TargetID, m_nEdtNum ) ;
			CDlgConfirm::GetParent()->PostMessage( WM_MY_MESSAGE, ON_SPLITITEM_ACCEPT, lParam ) ;
		}
		break ;
	case TEACHER_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage(WM_MY_MESSAGE,ON_TEACHER_ACCEPT); //同意拜师请求
		break;
	case STUDENT_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage(WM_MY_MESSAGE,ON_STUDENT_ACCEPT); //同意招徒请求
		break;
	case MONSTERDROP_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage(WM_MY_MESSAGE,ON_MONSTERDROP_ACCEPT);//同意丢弃幻兽
		break;
	case TEAMDISMISS_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage(WM_MY_MESSAGE,ON_TEAMDISMISS_ACCEPT);//同意
		break;
	case CHECKOUT_MONSTEREGG:
		CDlgConfirm::GetParent()->PostMessage(WM_MY_MESSAGE,ON_CHECKOUTEGG_ACCEPT,m_TargetID);//拿出幻兽蛋
	default:
		break ;
	}
	if ( m_ConfirmEdtData.IsWindowEnabled() )
	{
		m_ConfirmEdtData.SetWindowText( NULL ) ;
	}
	if (m_ConfirmEdtName.IsWindowEnabled())
	{
		m_ConfirmEdtName.SetWindowText( NULL );
	}
	m_nLine = 0 ;
	CDlgConfirm::EnableWindow( false ) ;
}

void CDlgConfirm::OnConfirmBtnCancel() 
{
	DXPlaySound ( "Sound/button_cancel.wav" ) ;
	switch ( m_uType )
	{
	case IMPTITEM_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, CMD_FLASHITEM ) ;
		break ;
	case DROPITEM_CONFIRM:
		CDlgConfirm::GetParent ()->PostMessage ( WM_MY_MESSAGE, CMD_FLASHITEM ) ;
		break ;
	case EXIT_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage( WM_MY_MESSAGE, ON_EXIT_REFUSE ) ;
		break ;
	case ROLECREATE_CONFIRM:
		CDlgConfirm::GetParent()->PostMessage( WM_MY_MESSAGE, ON_ROLECREATE_REFUSE, m_TargetID ) ;
		break ;
	case TEAMJOIN_CONFIRM:
		g_objHero.Reject( REJECT_TEAM ) ;
		break ;
	case TEAMINVITE_CONFIRM:
		g_objHero.Reject( REJECT_TEAM ) ;
		break ;
	case TRADE_CONFIRM:
		g_objHero.Reject( REJECT_TRADE ) ;
		break ;
	case FRIENDADD_CONFIRM:
		g_objHero.Reject( REJECT_FRIEND ) ;
		break ;
	case TEACHER_CONFIRM:
		g_objHero.Reject( REJECT_TEACHER ) ;
		break;
	case STUDENT_CONFIRM:
		g_objHero.Reject( REJECT_STUDENT ) ;
		break;
	case MONSTERDROP_CONFIRM:
		break;
	default:
		break ;
	}
	m_nLine = 0 ;	
	CDlgConfirm::EnableWindow( false ) ;
	CDlgConfirm::GetParent()->SetFocus() ;
}

void CDlgConfirm::Show()
{
	if ( m_bShow ) 
	{
		// Show the owner
		CAni* ShowAni ;
		if ( m_uType != MPCCOURT_CONFIRM && 
				m_uType != ACTION_CONFIRM &&
					m_uType != FRIENDADD_CONFIRM && 
					m_uType != FACTIONADDALLY_CONFIRM &&
						m_uType != FRIENDADDSUC_CONFIRM &&
						    m_uType != CHECKOUT_MONSTEREGG)
		{
			ShowAni = g_objGameDataSet.GetDataAni ( ( char * )g_strControlAni,
														  "Dialog15",
														  EXIGENCE_IMMEDIATE ) ;
			if ( ShowAni != NULL )
				ShowAni->Show ( 0,
								m_Pnt.x,
								m_Pnt.y ) ;
			else
				return ;
		}
		else if ( m_uType == MPCCOURT_CONFIRM )
		{
			ShowAni = g_objGameDataSet.GetDataAni ( ( char * )g_strControlAni,
														  "Dialog45",
														  EXIGENCE_IMMEDIATE ) ;
			if ( ShowAni != NULL )
				ShowAni->Show ( 0,
								m_Pnt.x - 53,
								m_Pnt.y - 40 ) ;
			else
				return ;
		}
		else if ( m_uType == ACTION_CONFIRM ||
					m_uType == FRIENDADD_CONFIRM ||
						m_uType == FRIENDADDSUC_CONFIRM ||
						   m_uType == CHECKOUT_MONSTEREGG ||
						      m_uType  == FACTIONADDALLY_CONFIRM)
		{
			ShowAni = g_objGameDataSet.GetDataAni ( ( char * )g_strControlAni,
														  "Dialog15",
														  EXIGENCE_IMMEDIATE ) ;
			if ( ShowAni != NULL )
			{
				if (m_uType != ACTION_CONFIRM) 
					ShowAni->Show ( 1,
									m_Pnt.x - 125,
									m_Pnt.y ) ;
				else
					ShowAni->Show ( 1,
						m_Pnt.x - 140,
						m_Pnt.y ) ;				
			}
			else
				return ;
		}

		// Show the button
		if (m_ConfirmBtnOk.IsWindowEnabled())
			m_ConfirmBtnOk.Show ( m_Pnt.x, m_Pnt.y ) ;
		if (m_ConfirmBtnCancel.IsWindowEnabled())
			m_ConfirmBtnCancel.Show ( m_Pnt.x, m_Pnt.y ) ;

		// Show the char
		switch ( m_uType )
		{
		case TEACHER_CONFIRM:
			if ( m_strText )
			{
				CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
					m_Pnt.y + 10,
					0xffff00,
					m_strText ) ;
				CMyBitmap::ShowString ( m_Pnt.x + 34,
					m_Pnt.y + 28,
					0xffff00,
					g_objGameDataSet.GetStr(10643)) ;	//10643=要拜你为师
				CMyBitmap::ShowString ( m_Pnt.x + 41,
					m_Pnt.y + 46,
					0xffff00,
					g_objGameDataSet.GetStr ( 10001 ) ) ;
			}
			break;
		case STUDENT_CONFIRM:
			if ( m_strText )
			{
				CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
					m_Pnt.y + 10,
					0xffff00,
					m_strText ) ;
				CMyBitmap::ShowString ( m_Pnt.x + 34,
					m_Pnt.y + 28,
					0xffff00,
					g_objGameDataSet.GetStr(10644) ) ;		//10644=要收你为徒
				CMyBitmap::ShowString ( m_Pnt.x + 41,
					m_Pnt.y + 46,
					0xffff00,
					g_objGameDataSet.GetStr ( 10001 ) ) ;
			}
			break;
		case TRADE_CONFIRM:
			if ( m_strText )
			{
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 10,
									0xffff00,
									m_strText ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10000 ) ) ;//"请求交易" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001 ) ) ;//"是否接受" ) ;
			}
			break ;
		case TEAMJOIN_CONFIRM:
			if ( m_strText )
			{
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 10,
									0xffff00,
									m_strText ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10002 ) ) ;//"请求加入队伍" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001 ) ) ;//"是否接受" ) ;
			}
			break ;
		case TEAMINVITE_CONFIRM:
			if ( m_strText )
			{
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 10,
									0xffff00,
									m_strText ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10003 ) ) ;//"邀请加入队伍" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001 ) ) ;//"是否接受" ) ;
			}
			break ;
		case FACTIONJOIN_CONFIRM:
			if ( m_strText )
			{
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 10,
									0xffff00,
									m_strText ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10004 ) ) ;//"申请加入帮派" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001 ) ) ;//"是否接受" ) ;
			}
			break ;
		case FACTIONINVITE_CONFIRM:
			if ( m_strText )
			{
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 10,
									0xffff00,
									m_strText ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10005 ) ) ;//"邀请加入帮派" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 41,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001) ) ;//"是否接受" ) ;
			}
			break ;
		case MONEYDROP_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 8,
									0xffff00,
									g_objGameDataSet.GetStr ( 10006 ) ) ;//"输入丢弃金额" ) ;
			m_ConfirmEdtData.Show ( m_Pnt.x, m_Pnt.y ) ;
			break ;
		case FRIENDDEL_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10007 ) ) ;//"确定删除好友" ) ;
			break ;
		case TALKDEL_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10008 ) ) ;//"确定删除对象" ) ;
			break ;
		case FACTIONOUT_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10009 ) ) ;//"确定退出帮派" ) ;
			break ;
		case FACTIONSUB_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 8,
									0xffff00,
									g_objGameDataSet.GetStr ( 10010 ) ) ;//"输入捐献金额" ) ;
			m_ConfirmEdtData.Show ( m_Pnt.x, m_Pnt.y ) ;
			break ;
		case FACTIONADDALLY_CONFIRM:
			if (m_strText)
			{
				CMyBitmap::ShowString ( m_Pnt.x - m_nLeftLeft,
					m_Pnt.y + 13 ,
					0xffff00,
					m_strText ) ;					
			}

⌨️ 快捷键说明

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