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

📄 dlgconfirm.cpp

📁 网络游戏魔域源代码 测试可以完整变异
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			break;
		case FACTIONADDENEMY_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,			//"输入帮派名称:"
				m_Pnt.y + 8,
				0xffff00,
				g_objGameDataSet.GetStr ( 10854 )) ;
			m_ConfirmEdtName.Show ( m_Pnt.x, m_Pnt.y ) ;
			break;	
		case MPCBOOTHADD_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 8,
									0xffff00,
									g_objGameDataSet.GetStr ( 10353 ) ) ;//"输入物品价格" ) ;
			m_ConfirmEdtData.Show ( m_Pnt.x, m_Pnt.y ) ;
			break ;
		case MPCBOOTHCHG_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 8,
									0xffff00,
									g_objGameDataSet.GetStr ( 10353 ) ) ;//"输入捐献金额" ) ;
			m_ConfirmEdtData.Show ( m_Pnt.x, m_Pnt.y ) ;
			break ;
		case FACTIONDEL_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 20,
									m_Pnt.y + 10,
									0xffff00,
									g_objGameDataSet.GetStr ( 10360 ) ) ;
			CMyBitmap::ShowString ( m_Pnt.x + m_nLeftLeft,
									m_Pnt.y + 28,
									0xffff00,
									m_strText ) ;
			break ;
		case BOOTHOPEN_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10364 ) ) ;
			break ;
		case MPCCOURT_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 ( 10365 ) ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 46,
									0xffff00,
									g_objGameDataSet.GetStr ( 10001) ) ;
			}
			break ;
		case IMPTITEM_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10371 ) ) ;//10371="确定卖出物品"
			break ;
		case DROPITEM_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10372 ) ) ;//"确定丢弃物品" ) ;
			break ;
		case TACKOFF_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 34,
									m_Pnt.y + 10,
									0xffff00,
									g_objGameDataSet.GetStr ( 10381 ) ) ;//"宝石将损坏" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10380 ) ) ;//"确定取出宝石" ) ;
			break ;
		case JOINDICE_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10394 ) ) ;//"确定加入赌局" ) ;
			break ;
		case OUTDICE_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10395 ) ) ;//"确定退出赌局" ) ;
			break ;
		case ENEMYDEL_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10400 ) ) ;//"确定删除仇人" ) ;
			break ;
		case RESOURCE_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 10,
									0xffff00,
									g_objGameDataSet.GetStr ( 10405 ) ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr ( 10406 ) ) ;
			break ;
		case EXIT_CONFIRM:
			if ( m_TargetID == 0 )
			{
				CMyBitmap::ShowString ( m_Pnt.x + 41,
										m_Pnt.y + 28,
										0xffff00,
										g_objGameDataSet.GetStr( 10410 ) ) ;
			}
			else if ( m_TargetID == 1 )
			{
				CMyBitmap::ShowString ( m_Pnt.x + 27,
										m_Pnt.y + 28,
										0xffff00,
										g_objGameDataSet.GetStr( 10411 ) ) ;
			}
			break ;
		case EMPTYMSG_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr( 10415 ) ) ;
			break ;
		case WARNING_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr( m_TargetID ) ) ;
			break ;
		case ROLECREATE_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
									m_Pnt.y + 28,
									0xffff00,
									g_objGameDataSet.GetStr( 10021 ) ) ;
			break ;
		case FRIENDADD_CONFIRM:
		case FRIENDADDSUC_CONFIRM:
		case ACTION_CONFIRM:
			ShowConfirmTextMLine();
			break ;
		case SPLITITEM_CONFIRM:
			CMyBitmap::ShowString( m_Pnt.x + 27,
								   m_Pnt.y + 8,
								   0xffff00,
								   g_objGameDataSet.GetStr( 10027 ) ) ;
			m_ConfirmEdtData.Show( m_Pnt.x, m_Pnt.y ) ;
			break ;
		case MONSTERDROP_CONFIRM:
			CMyBitmap::ShowString( m_Pnt.x + 21,
				m_Pnt.y + 28,
				0xffff00,
				g_objGameDataSet.GetStr( 10693 ) ) ;
			break;
		case TEAMDISMISS_CONFIRM:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
				m_Pnt.y + 28,
				0xffff00,
				g_objGameDataSet.GetStr ( 10708) ) ;//"确定解散队伍" ) ;
			break ;	
		case CHECKOUT_MONSTEREGG:
			CMyBitmap::ShowString ( m_Pnt.x + 27,
				m_Pnt.y + 10,
				0xffff00,
				g_objGameDataSet.GetStr ( 10685) ) ;//"若取出幻兽蛋" ) ;
			CMyBitmap::ShowString ( m_Pnt.x + 5,
				m_Pnt.y + 28,
				0xffff00,
				g_objGameDataSet.GetStr ( 10686) ) ;//"孵化时间将重新计算!" ) ;			
			CMyBitmap::ShowString ( m_Pnt.x + 27,
				m_Pnt.y + 46,
				0xffff00,
				g_objGameDataSet.GetStr ( 10687) ) ;//"确定要取出吗?" ) ;			
			break;			
		default:
			break ;
		}
	}
}

BOOL CDlgConfirm::SetConfirmDlg(UINT uType, const char *strName, OBJID TargetID)
{
	m_ConfirmEdtData.EnableWindow ( false ) ;
	m_ConfirmEdtName.EnableWindow(false);
	m_uType = uType ;
	m_TargetID = TargetID ;

	CDlgConfirm::SetButtons(0);

	
	switch ( uType )
	{
	case TRADE_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case TEAMJOIN_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case TEAMINVITE_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case FACTIONJOIN_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case FACTIONINVITE_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, g_objGameDataSet.GetStr ( 10011 ) ) ;//"帮派" ) ;
				strcat ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case MONEYDROP_CONFIRM:
		{
			m_nSkip = 0 ;
			m_ConfirmEdtData.EnableWindow ( true ) ;
			m_ConfirmEdtData.SetEditBkID("Edit150");
			m_ConfirmEdtData.SetFocus () ;
		}
		break ;
	case FACTIONADDALLY_CONFIRM:
		{
			m_TargetID = TargetID;

			CPlayer* pPlayer = g_objPlayerSet.GetPlayer(m_TargetID);
			if (pPlayer)
				sprintf( m_strText,g_objGameDataSet.GetStr(10855),pPlayer->GetName()) ;
			
			if ( m_strText != NULL )
			{
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( ACTION_MSG_WIDTH*CMyBitmap::GetFontSize()/2 - ( float )len * CMyBitmap::GetFontSize()/2  - 86) / 2;				
			}
		}
		break;
	case FACTIONADDENEMY_CONFIRM:
		{
			m_nSkip = 0;
			m_ConfirmEdtName.EnableWindow ( true ) ;
			m_ConfirmEdtName.SetEditBkID("Edit150");			
			m_ConfirmEdtName.SetFocus () ;
		}
		break;
	case FACTIONSUB_CONFIRM:
		{
			m_nSkip = 0 ;
			m_ConfirmEdtData.EnableWindow ( true ) ;
			m_ConfirmEdtData.SetEditBkID("Edit150");			
			m_ConfirmEdtData.SetFocus () ;
		}
		break ;
	case MPCBOOTHADD_CONFIRM:
		{
			m_nSkip = 0 ;
			m_ConfirmEdtData.EnableWindow ( true ) ;
			m_ConfirmEdtData.SetEditBkID("Edit150");
			m_ConfirmEdtData.SetFocus () ;
		}
		break ;
	case MPCBOOTHCHG_CONFIRM:
		{
			m_nSkip = 0 ;
			m_ConfirmEdtData.EnableWindow ( true ) ;
			m_ConfirmEdtData.SetEditBkID("Edit150");
			m_ConfirmEdtData.SetFocus () ;
		}
		break ;
	case FACTIONDEL_CONFIRM:
		{
			if ( strName )
			{
				strcpy ( m_strText, strName ) ;
				int len = strlen ( m_strText ) ;
				m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
			}
		}
		break ;
	case BOOTHOPEN_CONFIRM:
		break ;
	case MPCCOURT_CONFIRM:
		if ( strName )
		{
			strcpy ( m_strText, strName ) ;
			int len = strlen ( m_strText ) ;
			m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
		}
		break ;
	case IMPTITEM_CONFIRM:
		m_TargetID = TargetID;
		break;
	case DROPITEM_CONFIRM:
		m_TargetID = TargetID;
		break;
	case JOINDICE_CONFIRM:
		break ;
	case EXIT_CONFIRM:
		break ;
	case WARNING_CONFIRM:
		break ;
	case FRIENDADD_CONFIRM:
		if ( strName != NULL )
		{
			strcpy( m_strText, strName ) ;
		}
		break ;
	case FRIENDADDSUC_CONFIRM:
		if ( strName != NULL )
		{
			strcpy( m_strText, strName ) ;
		}
		break ;
	case ACTION_CONFIRM:
		if ( strName != NULL )
		{
			strcpy( m_strText, strName ) ;
			
			CDlgConfirm::SetButtons(1);

		}
		break ;
	case SPLITITEM_CONFIRM:
		{
			m_nSkip = 0 ;
			m_ConfirmEdtData.EnableWindow ( true ) ;
			m_ConfirmEdtData.SetEditBkID("Edit150");
			m_ConfirmEdtData.SetFocus () ;
		}
		break ;
	case TEACHER_CONFIRM:
		if ( strName )
		{
			strcpy ( m_strText, strName ) ;
			int len = strlen ( m_strText ) ;
			m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
		}
		break;
	case STUDENT_CONFIRM:
		if ( strName )
		{
			strcpy ( m_strText, strName ) ;
			int len = strlen ( m_strText ) ;
			m_nLeftLeft = ( _DLG_WIDTH - ( float )len * CMyBitmap::GetFontSize()/2 ) / 2;
		}		
		break;
	} 
	CDlgConfirm::EnableWindow() ;
	return true ;
}

void CDlgConfirm::OnChangeConfirmEdtData() 
{
	char strTemp[12] ;
	m_ConfirmEdtData.GetWindowText ( strTemp, 12 ) ;
	if ( !strcmp ( strTemp, "0" ) )
	{
		m_ConfirmEdtData.SetWindowText ( NULL ) ;
		return ;
	}

	m_nSkip++ ;
	if ( m_nSkip % 2 == 0 )
		return ;
	
	int nLength = m_ConfirmEdtData.GetWindowTextLength () ;
	if ( nLength >= 3 )
	{
		char* pstrTemp = strchr ( strTemp, ',' ) ;
		if ( pstrTemp != NULL )
		{
			char strText[12] ;
			char strNum[12] ;
			strncpy ( strText, strTemp, pstrTemp - strTemp ) ;
			strText[pstrTemp - strTemp] = 0 ;
			strcat ( strText, pstrTemp + 1 ) ;
			pstrTemp = strchr ( strText, ',' ) ;
			if ( pstrTemp != NULL )
			{
				strncpy ( strTemp, strText, pstrTemp - strText ) ;
				strTemp[pstrTemp - strText] = 0 ;
				strcat ( strTemp, pstrTemp + 1 ) ;
				strcpy ( strNum, strTemp ) ;
			}
			else
				strcpy ( strNum, strText ) ;

			if ( strNum != NULL )
			{
				m_nEdtNum = atoi ( strNum ) ;
				int nlen = strlen ( strNum ) ;
				CString cstrText = strNum;
				if ( nlen > 3 && nlen < 7 )
					cstrText.Insert ( nlen - 3, ',' ) ;
				else if ( nlen >= 7 )
				{
					cstrText.Insert ( nlen - 6, ',' ) ;
					cstrText.Insert ( nlen - 2, ',' ) ;
				}
				m_ConfirmEdtData.SetWindowText ( cstrText ) ;
				m_ConfirmEdtData.SetSel ( 12, 12 ) ;
				
			}
		}
		else if ( strlen ( strTemp ) == 4 )
		{
			m_nEdtNum = atoi ( strTemp ) ;
			CString cstrText = strTemp;
			cstrText.Insert ( 1, ',' ) ;
			m_ConfirmEdtData.SetWindowText ( cstrText ) ;
			m_ConfirmEdtData.SetSel ( 5, 5 ) ;
		}
		else
		{
			m_nEdtNum = atoi ( strTemp ) ;
			m_nSkip++ ;
		}
	}
	else
	{
		m_nSkip = 0 ;
		m_nEdtNum = atoi ( strTemp ) ;
	}

}

void CDlgConfirm::SetButtons(int nMode)
{
	switch(nMode) 
	{
	case 0:
		m_ConfirmBtnCancel.EnableWindow();
		m_ConfirmBtnOk.EnableWindow();
		break;
	case 1:
		m_ConfirmBtnCancel.EnableWindow(false);
		m_ConfirmBtnOk.EnableWindow();
		break;
	default:
		break;
	}
}

void CDlgConfirm::ShowConfirmTextMLine()
{
	int nDescLine = 0 ;
	int nCharIndex[32] = {0};
	nCharIndex[0] = 0;
	
	int nSingle = 0;
	int nLineNum = 0;
	for ( int i = 0; i < strlen ( m_strText ); i++ )
	{
		if ( CMyBitmap::IsDBCSLeadByte( m_strText, i ) )
		{
			nLineNum += 2;
			i++;
		}
		else 
		{
			nSingle++;
			nLineNum++;
		}
		if ( nLineNum >= ACTION_MSG_WIDTH )
		{
			//----------Begin the english version's process(jump line)----------//
			if ( strcmp( g_objGameDataSet.GetVersionInfo(), "English" ) == 0 )
			{
				// Search the last word
				for ( int j = i; j >= 0; j-- )
				{
					if ( m_strText[j] == ' ' )
					{
						i -= i - j;
						break;
					}
				}
			}
			//----------End the english version's process(jump line)----------//
			if ( nSingle % 2 == 0 )
			{
				nSingle = 0;
				nLineNum = 0;
				nCharIndex[nDescLine] = i + 1;
				nDescLine++;
			}
			else
			{
				i -= nLineNum - 2;
				nSingle = 0;
				nLineNum = 0;
				nCharIndex[nDescLine] = i - ( nLineNum - ACTION_MSG_WIDTH );
				nDescLine++;
			}
		}
	}
	if ( nLineNum < ACTION_MSG_WIDTH && nLineNum != 0 )
	{
		nDescLine++ ;
		nCharIndex[nDescLine] = i;
	}
	
	DWORD STRCOLOR_YELLOW = 0xffff00;
	CMySize psizeFont;
	CMyBitmap::GetFontSize(psizeFont);	
	char strTemp[256] ;
	int nOffset = 0;
	for (i = 0; i < nDescLine; i++ )
	{
		strncpy ( strTemp, m_strText + nCharIndex[i], nCharIndex[i + 1] - nCharIndex[i] );
		strTemp[nCharIndex[i + 1] - nCharIndex[i]] = '\0';
		
		if (i == 0)
		{
			CMyBitmap::ShowString ( m_Pnt.x - 86,
				m_Pnt.y + 13 + nOffset,
				0xffff00,
				strTemp ) ;
		}
		else
			CMyBitmap::ShowString ( m_Pnt.x - 104,
			m_Pnt.y + 13 + nOffset,
			0xffff00,
			strTemp ) ;					
		nOffset += psizeFont.iHeight + 2;
	}
}

⌨️ 快捷键说明

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