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

📄 ddcheck.cpp

📁 网页游戏赤壁
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//					pAllCheckBoxUnit[8]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[8]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY14 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY14, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY41, 0);
//					pAllCheckBoxUnit[12]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[12]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY21 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY21, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY12, 0);
//					pAllCheckBoxUnit[1]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[1]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY22 :
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY23 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY23, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY32, 0);
//					pAllCheckBoxUnit[9]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[9]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY24 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY24, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY42, 0);
//					pAllCheckBoxUnit[13]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[13]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY31 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY31, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY13, 0);
//					pAllCheckBoxUnit[2]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[2]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY32 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY32, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY23, 0);
//					pAllCheckBoxUnit[6]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[6]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY33 :
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY34 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY34, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY43, 0);
//					pAllCheckBoxUnit[14]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[14]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY41 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY41, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY14, 0);
//					pAllCheckBoxUnit[3]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[3]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY42 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY42, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY24, 0);
//					pAllCheckBoxUnit[7]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[7]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY43 :
				{
					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY43, 0);
//					PostMessage(hwndGame, WM_COMMAND, BUTTON_MENU_MAIN_NETWORK_SETNET_NOALLY34, 0);
//					pAllCheckBoxUnit[11]->m_pCheckBox[0]->SetState(state) ;
//					pAllCheckBoxUnit[11]->m_pCheckBox[0]->Show() ;
				}
				break;
			case BUTTON_MENU_MAIN_NETWORK_SETNET_ALLY44 :
				break;
			}
		}
	}
}

//to test whether the given point is on this check-box
BOOL CDDCheckBox::OnCheckBox( int x, int y)
{
	int	m_nLeftEdge = m_dwX;
	int m_nRightEdge = m_nLeftEdge + (int)m_szOneBitmap.cx;
	int m_nTopEdge = m_dwY;
	int m_nBottomEdge = m_nTopEdge + (int)m_szOneBitmap.cy;

	if( (x >= m_nLeftEdge)&&(x <= m_nRightEdge )
	  &&(y >= m_nTopEdge )&&(y <= m_nBottomEdge) )
		return TRUE;
	else
		return FALSE;
}
// to show this check-box
void	CDDCheckBox::Show()
{
/*	if( m_nState == CHECKBOX_HIDE )
		return ;

	POINT	ptDest;

	ptDest.x = m_dwX;
	ptDest.y = m_dwY;
	
	m_BitmapSurface.BltToBack(ptDest, &m_rCurrent);
	
	RECT	ShowRect;
	ShowRect.left = m_dwX,	ShowRect.top = m_dwY;
	ShowRect.right = m_dwX + m_szOneBitmap.cx;
	ShowRect.bottom = m_dwY + m_szOneBitmap.cy;
	DDC_UpdateScreen( );//&ShowRect );		*/
	Blit();
	Update();
}
// to blit this check-box to back buffer
void CDDCheckBox::Blit(void)
{
	if( m_nState == CHECKBOX_HIDE )
		return ;

	POINT	ptDest;

	ptDest.x = m_dwX;
	ptDest.y = m_dwY;
	
	m_BitmapSurface.BltToBack(ptDest, &m_rCurrent);
}
// to update the area of this check-box from back buffer to front buffer
void CDDCheckBox::Update(void)
{
	
	RECT	ShowRect;
	ShowRect.left = m_dwX,	ShowRect.top = m_dwY;
	ShowRect.right = m_dwX + m_szOneBitmap.cx;
	ShowRect.bottom = m_dwY + m_szOneBitmap.cy;
	DDC_UpdateScreen( &ShowRect );
}
// to release this button's pointer
void CDDCheckBox::Release()
{
	// release the surface that this button's bitmap used
	m_BitmapSurface.Release();
}
///////////////////////////////////////////////////
// to define all member function of CDDUnit
///////////////////////////////////////////////////
// construct
CDDCheckBoxUnit::CDDCheckBoxUnit()
{
	m_nSerialNum = NONE;

	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		m_pCheckBox[i] = NULL;
	}
}
//	disconstruc
CDDCheckBoxUnit::~CDDCheckBoxUnit()
{
	Release();
	m_nSerialNum = NONE;
}
// to set state of each LIST that in this list-unit
void	CDDCheckBoxUnit::SetMemberState( int state )
{
	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		if( (m_pCheckBox[i] != NULL)&&(m_pCheckBox[i]->GetState() != CHECKBOX_DISABLE) )
		{
			m_pCheckBox[i]->SetState(state);
			m_pCheckBox[i]->Show();
		}
	}
}
void	CDDCheckBoxUnit::Show( )
{
	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		if( m_pCheckBox[i] != NULL )
		{
			m_pCheckBox[i]->Show();
		}	
	}
}
// to blit all check-boxes in this checkbox-unit to back buffer
void	CDDCheckBoxUnit::Blit( )
{
	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		if( m_pCheckBox[i] != NULL )
		{
			m_pCheckBox[i]->Blit();
		}	
	}
}
// to update the area of every checkbox in this checkbox-unit from back buffer to front buffer
void	CDDCheckBoxUnit::Update( )
{
	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		if( m_pCheckBox[i] != NULL )
		{
			m_pCheckBox[i]->Update();
		}	
	}
}
// to release every check-box of this check-box unit
void	CDDCheckBoxUnit::Release()
{
	for( int i=0; i<MAX_CHECKBOXINUNIT; i++ )
	{
		if( m_pCheckBox[i] != NULL )
		{
			delete m_pCheckBox[i];
			m_pCheckBox[i] = NULL;
		}
	}
}
/////////////////////////////////////////
// to test whether a check-box is clicked --- WM_LBUTTONDOWN
/////////////////////////////////////////
BOOL	LeftButtonDownOnCheckBox(int xPos, int yPos)
{
	for( int i=0; i<MAX_CHECKBOXUNIT; i++ )
	{
		if( pAllCheckBoxUnit[i] != NULL )
		{
			for(int j=0; j<MAX_CHECKBOXINUNIT; j++)
			{
				if( (pAllCheckBoxUnit[i]->m_pCheckBox[j] != NULL)
//				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_DISABLE)
//				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_HIDE)
				  &&( (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_NOCHECK_UP) || 
				      (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_CHECK_UP)
					)
				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->OnCheckBox(xPos, yPos)) )
				{
					// set the just been clicked button's state
					pAllCheckBoxUnit[i]->m_pCheckBox[j]->SetState( );
					pAllCheckBoxUnit[i]->m_pCheckBox[j]->Show( );
					// to set the global button's state
					pCurrentCheckBox = pAllCheckBoxUnit[i]->m_pCheckBox[j];
					nCurrentCheckBoxState = pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState();
					return TRUE;
				}
			}
		}
	}	
	pCurrentCheckBox = NULL;
	return FALSE;
}
// to test whether cursor is on current check-box when left button up --- WM_LBUTTONUP
BOOL	LeftButtonUpOnCheckBox(int xPos, int yPos)
{
	for( int i=0; i<MAX_CHECKBOXUNIT; i++ )
	{
		if(	pAllCheckBoxUnit[i] != NULL )
		{
			for(int j=0; j<MAX_CHECKBOXINUNIT; j++)
			{
				if( (pAllCheckBoxUnit[i]->m_pCheckBox[j] != NULL)
				  &&(pCurrentCheckBox == pAllCheckBoxUnit[i]->m_pCheckBox[j])
//				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_DISABLE)
//				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_HIDE)
				  &&( (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_NOCHECK_DOWN) || 
				      (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_CHECK_DOWN)
					)
				  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->OnCheckBox(xPos, yPos)) )
				{
					// set the just been clicked button's state
					pAllCheckBoxUnit[i]->m_pCheckBox[j]->SetState( );
					pAllCheckBoxUnit[i]->m_pCheckBox[j]->Show( );
					// to set the global button's state
					pCurrentCheckBox = pAllCheckBoxUnit[i]->m_pCheckBox[j];
					nCurrentCheckBoxState = pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState( );

					if(nCurrentCheckBoxState == CHECKBOX_CHECK_UP)
					{
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->SetState(CHECKBOX_CHECK_UP) ;
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->SendMessage(CHECKBOX_CHECK_UP) ;
					}
					else if(nCurrentCheckBoxState == CHECKBOX_NOCHECK_UP)
					{
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->SetState(CHECKBOX_NOCHECK_UP) ;
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->SendMessage(CHECKBOX_NOCHECK_UP) ;
					}

					if(nCurrentCheckBoxState == CHECKBOX_CHECK_UP)
					{
						// to set the serial number to this check box
						pAllCheckBoxUnit[i]->m_nSerialNum = j;

						for(int k=0; k<MAX_CHECKBOXINUNIT; k++)
						{
							if( (pAllCheckBoxUnit[i]->m_pCheckBox[k] != NULL)
							  &&(pAllCheckBoxUnit[i]->m_pCheckBox[k]->GetState() == CHECKBOX_CHECK_UP)
							  &&(pAllCheckBoxUnit[i]->m_pCheckBox[k] != pAllCheckBoxUnit[i]->m_pCheckBox[j]) )
							{
								pAllCheckBoxUnit[i]->m_pCheckBox[k]->SetState(CHECKBOX_NOCHECK_UP);
								pAllCheckBoxUnit[i]->m_pCheckBox[k]->Show( );
							}
						}
					}
					else
						// to set the serial number to this check box
						pAllCheckBoxUnit[i]->m_nSerialNum = NONE;

					return TRUE;
				}
			}
		}
	}
	return FALSE;
}
/////////////////////////////////////////
// to test whether cursor is moved on a check-box --- WM_ONMOUSEMOVE
BOOL	MouseMoveOnCheckBox(WPARAM wParam,int xPos, int yPos)
{
	// If there is a check-box is pressed down, do this.
	if( wParam == MK_LBUTTON )
	{
		for( int i=0; i<MAX_CHECKBOXUNIT; i++ )
		{
			if(	pAllCheckBoxUnit[i] != NULL )
			{

				for(int j=0; j<MAX_CHECKBOXINUNIT; j++)
				{
					if( (pAllCheckBoxUnit[i]->m_pCheckBox[j] != NULL)
					  &&(pCurrentCheckBox == pAllCheckBoxUnit[i]->m_pCheckBox[j])
//					  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_DISABLE)
//					  &&(pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() != CHECKBOX_HIDE)
					  &&( (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_NOCHECK_DOWN) || 
					      (pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState() == CHECKBOX_CHECK_DOWN) 
						)
					  &&( ! pAllCheckBoxUnit[i]->m_pCheckBox[j]->OnCheckBox(xPos, yPos)) )
					{
						// set the current button to NULL beacuse of cursor has move out the button
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->
												SetState( pAllCheckBoxUnit[i]->m_pCheckBox[j]->GetState()-1 );
						pAllCheckBoxUnit[i]->m_pCheckBox[j]->Show();
						// to set the global button's state
						pCurrentCheckBox = NULL;
						nCurrentCheckBoxState = NONE;
						return TRUE;
					}
				}
			}
		}
	}
	return FALSE;
}

////////////////////////////////////////////////////////////////
// to delete all check-box in the volume of pAllCheckBoxUnit[MAX_CHECKBOXUNIT] array
void	FACE_DeleteAllCheckBox()
{
	for( int i=0; i<MAX_CHECKBOXUNIT; i++ )
	{
		if( pAllCheckBoxUnit[i] != NULL )
		{
			delete pAllCheckBoxUnit[i];
			pAllCheckBoxUnit[i] = NULL;
		}
	}
}
/////////////////////////////////////////
void	FACE_BlitAllCheckBox()
{
	for( int i=0; i<MAX_CHECKBOXUNIT; i++ )
	{
		if( pAllCheckBoxUnit[i] != NULL )
		{
			pAllCheckBoxUnit[i]->Blit() ;
		}
	}
}
/////////////////////////////////////////

⌨️ 快捷键说明

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