?? statuswnd.cpp
字號:
nStartY = m_rcWnd.top +m_rcMagicCell[nCnt].top;
INT nMagicImgIdx = m_pstMyMagic[nLine].stStdMagic.wMagicID * 2;
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].NewSetIndex(nMagicImgIdx);
g_xMainWnd.DrawWithImageForComp(
nStartX,
nStartY,
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_lpstNewCurrWilImageInfo->shWidth,
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_lpstNewCurrWilImageInfo->shHeight,
(WORD*)(g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_pbCurrImage));
g_xMainWnd.PutsHan(NULL, nStartX+50, nStartY+5, RGB(255, 255, 220), RGB(0, 0, 0), m_pstMyMagic[nLine].stStdMagic.szMagicName);
if ( m_pstMyMagic[nLine].bUseKey != 0 )
{
nMagicImgIdx = m_pstMyMagic[nLine].stStdMagic.wMagicID * 2 + 1;
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].NewSetIndex(nMagicImgIdx);
g_xMainWnd.DrawWithImageForComp(
nStartX,
nStartY,
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_lpstNewCurrWilImageInfo->shWidth,
g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_lpstNewCurrWilImageInfo->shHeight,
(WORD*)(g_xGameProc.m_xImage.m_xImageList[_IMAGE_MICON].m_pbCurrImage));
sprintf(szKey, "F%c", (char)m_pstMyMagic[nLine].bUseKey);
g_xMainWnd.PutsHan(NULL, nStartX+140, nStartY+7, RGB(255, 255, 255), RGB(125, 125, 255), szKey);
}
if ( m_pstMyMagic[nLine].bLevel < 3 )
{
sprintf(szLevel, "%d %d/%d", m_pstMyMagic[nLine].bLevel, m_pstMyMagic[nLine].nCurrTrain, m_pstMyMagic[nLine].stStdMagic.nTrain[m_pstMyMagic[nLine].bLevel]);
g_xMainWnd.PutsHan(NULL, nStartX+50, nStartY+23, RGB(255, 255, 220), RGB(0, 0, 0), szLevel);
}
else
{
sprintf(szLevel, "%d ", m_pstMyMagic[nLine].bLevel);
g_xMainWnd.PutsHan(NULL, nStartX+50, nStartY+23, RGB(255, 255, 220), RGB(0, 0, 0), szLevel);
}
m_xMagicScrlBtn[0].ShowGameBtn();
m_xMagicScrlBtn[1].ShowGameBtn();
}
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::SetMagicKey()
累己磊 :
累己老 :
格利 :
澇仿 : POINT ptMouse
BYTE bKey
免仿 : BOOL
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
BOOL CStatusWnd::SetMagicKey(POINT ptMouse, BYTE bKey)
{
RECT rc;
INT nCnt, nLine;
for ( nCnt = 0; nCnt < _MAGIC_MAX_CELL; nCnt++ )
{
nLine = nCnt + m_nStartLineNum;
if ( nLine >= m_bMyMagicCnt ) break;
rc.left = m_rcWnd.left + m_rcMagicCell[nCnt].left;
rc.top = m_rcWnd.top + m_rcMagicCell[nCnt].top;
rc.right = m_rcWnd.left + m_rcMagicCell[nCnt].right;
rc.bottom = m_rcWnd.top + m_rcMagicCell[nCnt].bottom;
if ( PtInRect(&rc, ptMouse) )
{
for ( INT nLoop = 0; nLoop < m_bMyMagicCnt; nLoop++ )
{
if ( m_pstMyMagic[nLoop].bUseKey == bKey )
{
m_pstMyMagic[nLoop].bUseKey = 0;
g_xClientSocket.SendMagicKeyChange(m_pstMyMagic[nLoop].bUseKey, m_pstMyMagic[nLoop].stStdMagic.wMagicID);
}
}
if ( m_pstMyMagic[nLine].bUseKey != bKey )
{
m_pstMyMagic[nLine].bUseKey = bKey;
g_xClientSocket.SendMagicKeyChange(m_pstMyMagic[nLine].bUseKey, m_pstMyMagic[nLine].stStdMagic.wMagicID);
}
return TRUE;
}
}
return FALSE;
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::GetMagicByKey()
累己磊 :
累己老 :
格利 :
澇仿 : BYTE bKey
免仿 : LPCLIENTMAGICRCD
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
LPCLIENTMAGICRCD CStatusWnd::GetMagicByKey(BYTE bKey)
{
LPCLIENTMAGICRCD pstMagic = NULL;
for ( INT nCnt = 0; nCnt < m_bMyMagicCnt; nCnt++ )
{
pstMagic = &m_pstMyMagic[nCnt];
if ( pstMagic->bUseKey == bKey )
{
break;
}
}
return pstMagic;
}
/******************************************************************************************************************
Message Function.
*******************************************************************************************************************/
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnKeyDown()
累己磊 :
累己老 :
格利 :
澇仿 : WPARAM wParam
LPARAM lParam
POINT ptMouse
免仿 : BOOL
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
BOOL CStatusWnd::OnKeyDown(WPARAM wParam, LPARAM lParam, POINT ptMouse)
{
INT nLine, nCnt;
BOOL bCheck;
RECT rc;
if ( !PtInRect(&m_rcWnd, ptMouse) ) return TRUE;
bCheck = FALSE;
for ( nCnt = 0; nCnt < _MAGIC_MAX_CELL; nCnt++ )
{
nLine = nCnt + m_nStartLineNum;
rc.left = m_rcWnd.left + m_rcMagicCell[nCnt].left;
rc.top = m_rcWnd.top + m_rcMagicCell[nCnt].top;
rc.right = m_rcWnd.left + m_rcMagicCell[nCnt].right;
rc.bottom= m_rcWnd.top + m_rcMagicCell[nCnt].bottom;
if ( PtInRect(&rc, ptMouse) )
{
bCheck = TRUE;
break;
}
}
if ( !bCheck ) return TRUE;
if ( m_bType == _TYPE_SETMAGIC )
{
switch ( wParam )
{
case VK_F1: SetMagicKey(ptMouse, '1'); return TRUE;
case VK_F2: SetMagicKey(ptMouse, '2'); return TRUE;
case VK_F3: SetMagicKey(ptMouse, '3'); return TRUE;
case VK_F4: SetMagicKey(ptMouse, '4'); return TRUE;
case VK_F5: SetMagicKey(ptMouse, '5'); return TRUE;
case VK_F6: SetMagicKey(ptMouse, '6'); return TRUE;
case VK_F7: SetMagicKey(ptMouse, '7'); return TRUE;
case VK_F8: SetMagicKey(ptMouse, '8'); return TRUE;
}
}
return FALSE;
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnLButtonUp()
累己磊 :
累己老 :
格利 :
澇仿 : POINT ptMouse
免仿 : BOOL
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
BOOL CStatusWnd::OnLButtonUp(LPCOMMONITEMSET pstCommonItemSet, POINT ptMouse)
{
INT nEquipNum;
m_xStatusBtn[_BTN_ID_STATUSCLOSE].ChangeRect(m_rcWnd.left+222, m_rcWnd.top+298);
m_xStatusBtn[_BTN_ID_STATUS ].ChangeRect(m_rcWnd.left+_BTN_ID_STATUS_X, m_rcWnd.top+_BTN_ID_STATUS_Y);
m_xStatusBtn[_BTN_ID_STATUSMAGIC].ChangeRect(m_rcWnd.left+_BTN_ID_STATUSMAGIC_X, m_rcWnd.top+_BTN_ID_STATUSMAGIC_Y);
if ( m_xStatusBtn[_BTN_ID_STATUSCLOSE].OnLButtonUp(ptMouse) ) return TRUE;
if ( m_xStatusBtn[_BTN_ID_STATUS].OnLButtonUp(ptMouse) )
{
if ( m_bType == _TYPE_STATUS )
{
ResetWndImg(_WNDIMGIDX_ITEMSET);
m_bType = _TYPE_EQUIP;
m_xStatusBtn[_BTN_ID_STATUS].ResetGameBtn(212, 213);
}
else
{
ResetWndImg(_WNDIMGIDX_STATUS);
m_bType = _TYPE_STATUS;
m_xStatusBtn[_BTN_ID_STATUS].ResetGameBtn(210, 211);
if ( m_rcWnd.right > 800 )
{
m_rcWnd.left = 260;
m_rcWnd.right = 800;
}
}
}
if ( m_xStatusBtn[_BTN_ID_STATUSMAGIC].OnLButtonUp(ptMouse) )
{
m_bType = _TYPE_SETMAGIC;
ResetWndImg(_WNDIMGIDX_SKILLSET);
}
if ( m_bType == _TYPE_SETMAGIC )
{
m_xMagicScrlBtn[0].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+147);
m_xMagicScrlBtn[1].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+253);
if ( m_xMagicScrlBtn[0].OnLButtonUp(ptMouse) )
{
if ( m_nStartLineNum > 0 ) m_nStartLineNum--;
}
if ( m_xMagicScrlBtn[1].OnLButtonUp(ptMouse) )
{
if ( m_nStartLineNum < m_bMyMagicCnt-_MAGIC_MAX_CELL) m_nStartLineNum++;
}
}
// 厘饅芒 勸己拳 燈闌版快.
if ( m_bType == _TYPE_EQUIP || m_bType == _TYPE_STATUS )
{
nEquipNum = GetEquipNum(ptMouse);
// 付快膠啊 厘饅芒康開俊 樂闌錠.
if ( nEquipNum != -1)
{
// 努腐茄厘饅芒俊 酒撈袍撈 樂闌版快.
if ( m_stEquipItem[nEquipNum].bSetted )
{
// 傍烹(付快膠)酒撈袍悸撈 厚絹樂欄擱,
if ( !pstCommonItemSet->bSetted )
{
// 付快膠俊 酒撈袍闌 嘿咯初欄擱 牢亥配府 擴檔俊輯 努腐竅綽鑒埃 CM_TAKEOFFITEM皋矯瘤甫 焊辰促.
SetCommonFromEquip(nEquipNum, pstCommonItemSet);
}
// 傍烹(付快膠)酒撈袍悸籃 樂絆, 輯滾肺何磐 覽翠腳齲甫 扁促府綽 吝撈 酒聰擱,
// 傍烹酒撈袍闌 m_stTakeOnItemSet俊 酒撈袍闌 技潑秦滴絆, 泅犁 努腐等 厘饅芒 酒撈袍闌 傍烹酒撈袍欄肺 技潑竅絆唱輯,
// CM_TAKEONITEM皋矯瘤甫 焊辰促.
else if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse )
{
// 焊郴扁傈 康開撈 輯肺 嘎綽啊(館瘤磊府俊 館瘤啊 肋甸絹艾綽瘤)甫 眉農茄促.
if ( CheckEquipItem(&pstCommonItemSet->xItem, nEquipNum, ptMouse) )
{
SetTakeOnFromCommon(nEquipNum, pstCommonItemSet);
SetCommonFromEquip(nEquipNum, pstCommonItemSet);
g_xClientSocket.SendTakeOnOffItem(CM_TAKEONITEM, nEquipNum, m_stTakeOnItemSet.xItem.m_stItemInfo.stStdItem.szName, m_stTakeOnItemSet.xItem.m_stItemInfo.nMakeIndex);
pstCommonItemSet->bWaitResponse = TRUE;
}
}
}
// 努腐茄 厘饅芒俊 酒撈袍撈 絕闌版快.
else
{
// 傍烹(付快膠)酒撈袍悸籃 樂絆, 輯滾肺何磐 覽翠腳齲甫 扁促府綽 吝撈 酒聰擱, 傍烹酒撈袍闌 m_stTakeOnItemSet俊 酒撈袍闌 技潑秦敵促.
if ( pstCommonItemSet->bSetted && !pstCommonItemSet->bWaitResponse )
{
if ( CheckEquipItem(&pstCommonItemSet->xItem, nEquipNum, ptMouse) )
{
// 輯滾肺 皋矯瘤甫 焊塵鞘夸綽 絕促. 酒撈袍闌 哈菌促啊 促矯饅儈茄版快.
if ( pstCommonItemSet->bIsEquipItem )
{
SetEquipFromCommon(pstCommonItemSet->xItem.m_shCellNum, pstCommonItemSet);
ZeroMemory(pstCommonItemSet, sizeof(COMMONITEMSET));
}
else
{
SetTakeOnFromCommon(nEquipNum, pstCommonItemSet);
g_xClientSocket.SendTakeOnOffItem(CM_TAKEONITEM, nEquipNum, m_stTakeOnItemSet.xItem.m_stItemInfo.stStdItem.szName, m_stTakeOnItemSet.xItem.m_stItemInfo.nMakeIndex);
pstCommonItemSet->bWaitResponse = TRUE;
}
}
}
}
}
}
return FALSE;
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnMouseMove()
累己磊 :
累己老 :
格利 :
澇仿 : POINT ptMouse
免仿 : VOID
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
VOID CStatusWnd::OnMouseMove(POINT ptMouse)
{
if ( m_bType == _TYPE_SETMAGIC )
{
m_xMagicScrlBtn[0].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+147);
m_xMagicScrlBtn[1].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+253);
m_xMagicScrlBtn[0].OnMouseMove(ptMouse);
m_xMagicScrlBtn[1].OnMouseMove(ptMouse);
}
m_xStatusBtn[_BTN_ID_STATUSCLOSE ].ChangeRect(m_rcWnd.left+222, m_rcWnd.top+298);
m_xStatusBtn[_BTN_ID_STATUS ].ChangeRect(m_rcWnd.left+_BTN_ID_STATUS_X, m_rcWnd.top+_BTN_ID_STATUS_Y);
m_xStatusBtn[_BTN_ID_STATUSMAGIC ].ChangeRect(m_rcWnd.left+_BTN_ID_STATUSMAGIC_X, m_rcWnd.top+_BTN_ID_STATUSMAGIC_Y);
m_xStatusBtn[_BTN_ID_STATUSCLOSE ].OnMouseMove(ptMouse);
m_xStatusBtn[_BTN_ID_STATUS ].OnMouseMove(ptMouse);
m_xStatusBtn[_BTN_ID_STATUSMAGIC ].OnMouseMove(ptMouse);
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnLButtonDown()
累己磊 :
累己老 :
格利 :
澇仿 : LPCOMMONITEMSET pstCommonItemSet
POINT ptMouse
免仿 : BOOL
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
BOOL CStatusWnd::OnLButtonDown(LPCOMMONITEMSET pstCommonItemSet, POINT ptMouse)
{
INT nEquipNum;
m_xStatusBtn[_BTN_ID_STATUSCLOSE ].ChangeRect(m_rcWnd.left+222, m_rcWnd.top+298);
m_xStatusBtn[_BTN_ID_STATUS ].ChangeRect(m_rcWnd.left+_BTN_ID_STATUS_X, m_rcWnd.top+_BTN_ID_STATUS_Y);
m_xStatusBtn[_BTN_ID_STATUSMAGIC ].ChangeRect(m_rcWnd.left+_BTN_ID_STATUSMAGIC_X, m_rcWnd.top+_BTN_ID_STATUSMAGIC_Y);
if ( m_xStatusBtn[_BTN_ID_STATUSCLOSE ].OnLButtonDown(ptMouse) ) return TRUE;
if ( m_xStatusBtn[_BTN_ID_STATUS ].OnLButtonDown(ptMouse) ) return TRUE;
if ( m_xStatusBtn[_BTN_ID_STATUSMAGIC ].OnLButtonDown(ptMouse) ) return TRUE;
if ( m_bType == _TYPE_SETMAGIC )
{
m_xMagicScrlBtn[0].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+147);
m_xMagicScrlBtn[1].ChangeRect(m_rcWnd.left+232, m_rcWnd.top+253);
if ( m_xMagicScrlBtn[0].OnLButtonDown(ptMouse) ) return TRUE;
if ( m_xMagicScrlBtn[1].OnLButtonDown(ptMouse) ) return TRUE;
}
nEquipNum = GetEquipNum(ptMouse);
if ( nEquipNum == -1 ) m_bCanMove = TRUE;
else
{
if ( m_stEquipItem[nEquipNum].bSetted ) m_bCanMove = FALSE;
else m_bCanMove = TRUE;
}
return FALSE;
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnScrollDown()
累己磊 :
累己老 :
格利 :
免仿 : VOID
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
VOID CStatusWnd::OnScrollDown()
{
if ( m_bType == _TYPE_SETMAGIC )
{
if ( m_nStartLineNum > 0 ) m_nStartLineNum--;
}
}
/******************************************************************************************************************
竊薦疙 : CStatusWnd::OnScrollUp()
累己磊 :
累己老 :
格利 :
免仿 : VOID
[老磊][薦瀝磊] : 薦瀝郴儈
*******************************************************************************************************************/
VOID CStatusWnd::OnScrollUp()
{
if ( m_bType == _TYPE_SETMAGIC )
{
if ( m_nStartLineNum < m_bMyMagicCnt-_MAGIC_MAX_CELL) m_nStartLineNum++;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -