?? ddcheck.cpp
字號:
// 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 + -