📄 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 + -