📄 myshelldlg.cpp
字号:
{
OBJID tempID = g_objGameMap.GetFocusTerrainNpc () ;
if ( tempID != ID_NONE )
{
m_uCmd = CMD_NORMAL ;
g_objHero.DelNpc ( tempID ) ;
return ;
}
}
if ( g_objHero.GetCommandType() == _COMMAND_WALK)
{
CMyPos posTarget = {nPosX, nPosY};
g_objHero.AddStep(posTarget);
}
else
g_objHero.Walk(nPosX, nPosY);
CMyShellDlg::SetMouseMove(nPosX,nPosY);
if (m_DlgTask.m_bShow)
{
m_DlgTask.EnableWindow(false);
}
// m_DlgMain.CloseNpcDlg();
m_bLbuttonDown = true ;
}
}
CDialog::OnLButtonDown(nFlags, point);
}
HBRUSH CMyShellDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
pDC->SetBkMode ( TRANSPARENT ) ;
return g_StockBrush ;
}
BOOL CMyShellDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
BOOL bSetAni = false;
switch ( m_uCmd )
{
case CMD_MPCCOURT:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_MARRY) ) ;
bSetAni = true;
break ;
case CMD_TEMJOIN:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_TEAMJOIN) ) ;
bSetAni = true;
break ;
case CMD_TEMINVITE:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_TEAMINVITE) ) ;
bSetAni = true;
break ;
case CMD_FRDMAKE:
::SetCursor(NULL);
SetCursorAni("FrdCursor");
bSetAni = true;
break ;
case CMD_FACINVITE:
::SetCursor(NULL);
SetCursorAni("FacCursor");
bSetAni = true;
break;
case CMD_ADDALLY:
::SetCursor(NULL);
SetCursorAni("FacCursor");
bSetAni = true;
break ;
case CMD_FACJOIN:
::SetCursor(NULL);
SetCursorAni("FacCursor");
bSetAni = true;
break ;
case CMD_TRADE:
::SetCursor(NULL);
SetCursorAni("TradeCursor");
bSetAni = true;
break ;
case CMD_DELNPC:
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_DELNPC) ) ;
bSetAni = true;
break ;
case CMD_NPCEQUIP:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_NPCEQUIP ) ) ;
bSetAni = true;
break ;
case CMD_TEACHERREQ:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_TEAMINVITE) ) ;
bSetAni = true;
break;
case CMD_STUDENTREQ:
SetCursorAni("");
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_TEAMJOIN) ) ;
bSetAni = true;
break;
case CMD_USEITEMTO:
::SetCursor(NULL);
SetCursorAni("GemCursor");
bSetAni = true;
break;
default:
SetCursorAni("");
break ;
}
CPoint point;
GetCursorPos(&point);
CMyPos posMouse;
::MouseCheck(posMouse.x, posMouse.y);
CRect rect;
CMyShellDlg::GetWindowRect(rect);
posMouse.x +=rect.left;
posMouse.y +=rect.top;
if (point.x == posMouse.x && point.y == posMouse.y && !g_bPickUp && !m_bIconFix)
{
CMyShellDlg::SetGameCursor();
bSetAni = true;
}
if ( g_bPickUp )
{
::SetCursor ( NULL ) ;
SetCursorAni("");
}
else if ( m_bIconFix )
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_FIX) ) ;
else if (m_bLbuttonDown || m_bRbuttonDown)
::SetCursor( AfxGetApp()->LoadCursor(IDC_CURSOR_POINTDOWN));
else if ( m_bLbuttonHold || m_bRbuttonHold)
::SetCursor( AfxGetApp()->LoadCursor(IDC_CURSOR_POINTDOWN));
else if ( bSetAni == false)
::SetCursor ( AfxGetApp()->LoadCursor(IDC_CURSOR_POINT) ) ;
return true ;
}
void CMyShellDlg::OnMyMessage ( WPARAM wParam, LPARAM lParam )
{
switch ( wParam )
{
case ON_EXIT:
CMyShellDlg::OnExit ( ) ;
break ;
case ON_EXIT_LOGIN:
if ( m_DlgLogin.m_bShow && !m_bExit )
CMyShellDlg::OnExit () ;
else
{
m_bExit = true ;
m_DlgConfirm.SetConfirmDlg( EXIT_CONFIRM, NULL, 1 ) ;
}
break ;
case ON_EXIT_ACCEPT:
if ( lParam == 1 )
{
if ( m_bLogin )
{
DXPlaySound("Sound/Dlg_Ok.wav");
m_bExit = false ;
m_bIconFix = false;
g_bPickUp = false;
m_uCmd = CMD_NORMAL;
m_DlgMain.CloseCurDlg();
m_DlgMain.CloseCurDlg(1);
m_DlgMain.CloseCurDlg(2);
m_DlgMain.CloseNpcDlg();
m_DlgMain.m_DlgMpcGoods.EnableWindow(false);
m_DlgMain.m_DlgTalk.m_TalkDataCob.SetWindowText("");
m_DlgMain.WriteRecord();
m_DlgMain.m_DlgTalk.m_GoodBox.RemoveIcon ( 0, 0, true ) ;
g_objNetwork.Destroy() ;
g_objGameMsg.ClearMsg() ;
g_objGameMsg.DestroyLeaveWord() ;
g_uStatus =_STATUS_NONE ;
m_MagicID = 0 ;
m_DlgRoleCreate.ShowWindow(SW_HIDE);
m_DlgRoleCreate.EnableWindow(false) ;
SetLoginEffectPos(m_bLogin);
m_DlgLogin.ShowWindow ( SW_SHOW ) ;
m_DlgLogin.SetCurLoginMode(2);
m_DlgLogin.SetFocus() ;
m_DlgLogin.m_LoginPasswordEdt.SetFocus();
}
else
{
m_bExit = false ;
m_bIconFix = false;
g_bPickUp = false;
m_uCmd = CMD_NORMAL;
m_DlgRoleCreate.EnableWindow(false) ;
m_DlgRoleCreate.ShowWindow(SW_HIDE);
SetLoginEffectPos(m_bLogin);
m_DlgLogin.ShowWindow( SW_SHOW ) ;
m_DlgLogin.EnableWindow(true);
m_DlgLogin.SetCurLoginMode(2);
m_DlgLogin.SetFocus() ;
m_DlgLogin.m_LoginPasswordEdt.SetFocus();
}
g_objGameMap.Reset();
g_objHero.Reset();
::DXCloseAllMedia();
::DXCloseAllSound();
}
else
{
m_DlgMain.WriteRecord();
CMyShellDlg::RealExit();
}
break ;
case ON_BACK_PLAY:
{
::ShellExecute(m_hWnd, NULL, "Play.exe", NULL, NULL, SW_SHOW|SW_RESTORE );
CMyShellDlg::RealExit();
}
break;
case ON_EXIT_REFUSE:
m_bExit = false ;
if ( !m_bLogin )
{
if ( m_DlgLogin.m_bShow && !m_DlgLogin.IsWindowEnabled() )
{
m_DlgLogin.EnableWindow() ;
m_DlgLogin.SetFocus() ;
DXSetSoundVolume(75);
}
else if ( m_DlgRoleCreate.m_bShow && !m_DlgRoleCreate.IsWindowEnabled() )
{
m_DlgRoleCreate.ShowWindow(SW_SHOW) ;
m_DlgRoleCreate.EnableWindow();
}
}
break ;
case ON_ROLECREATE_CREATE:
m_DlgRoleCreate.ShowWindow(SW_HIDE);
m_DlgRoleCreate.EnableWindow( false ) ;
m_DlgConfirm.SetConfirmDlg( ROLECREATE_CONFIRM ) ;
break ;
case ON_MIN:
if ( !m_bExit )
{
CMyShellDlg::GetParent()->ShowWindow ( SW_SHOWMINIMIZED ) ;
m_DlgTitleBar.ShowWindow ( SW_HIDE ) ;
}
break ;
case ON_HELPDLG_SHOW:
CMyShellDlg::ShowHelpDlg ( lParam ) ;
break ;
case ON_LOGIN_NEW:
{
DXSetSoundVolume(75);
m_DlgRoleCreate.ShowWindow(SW_SHOW);
m_DlgRoleCreate.EnableWindow(true) ;
char Acn[16];
char Pws[16];
m_DlgLogin.m_LoginAccountEdt.GetWindowText ( Acn, 16) ;
m_DlgLogin.m_LoginPasswordEdt.GetWindowText ( Pws, 16) ;
m_DlgRoleCreate.SetAcnAndPsw ( Acn, Pws ) ;
m_DlgRoleCreate.SetFocus () ;
}
break ;
case ON_ROLECHOOSE_RETURN:
SetLoginEffectPos(m_bLogin);
m_DlgLogin.ShowWindow ( SW_SHOW ) ;
m_DlgLogin.SetCurLoginMode(2);
m_DlgLogin.SetFocus() ;
m_DlgLogin.m_LoginPasswordEdt.SetFocus();
break ;
case ON_ROLECHOOSE_CHOOSE:
CMyShellDlg::CreateRole ( lParam ) ;
break ;
case ON_CLOSE_MDLG:
if (m_bLogin)
m_DlgMain.CloseCurDlg(1);
break;
case ON_DLGTASK_CLOSE:
if (m_DlgTask.m_bShow)
m_DlgTask.EnableWindow(false);
break;
case ON_EMOTION_INSERT:
{
m_DlgMain.m_DlgTalk.InsertEmotion(lParam);
if(m_DlgMain.m_DlgEmotion.m_bShow)
m_DlgMain.m_DlgEmotion.EnableWindow (false);
}
break;
case ON_DLGEMOTION_OPEN:
{
if (m_DlgMain.m_DlgEmotion.m_bShow)
m_DlgMain.m_DlgEmotion.EnableWindow (false);
else
{
if (m_DlgLog.IsWindowVisible ())
m_DlgLog.ShowWindow (SW_HIDE);
if (m_DlgMain.m_DlgMpcGoods.m_bShow)
m_DlgMain.m_DlgMpcGoods.EnableWindow (false);
m_DlgMain.m_DlgEmotion.EnableWindow ();
}
}
break;
case ON_TALK_CLOSE:
m_DlgMain.OnShellEnter () ;
break ;
case ON_MSGDLG_POINT:
m_MsgDlgPnt.x = LOWORD ( lParam ) ;
m_MsgDlgPnt.y = HIWORD ( lParam ) ;
break ;
case ON_MSGDLG_GOODS:
g_bMouseMoveIn = true ;
m_uMsgDlgType = ON_MSGDLG_GOODS ;
m_dwMsgDlgOwner = lParam ;
break ;
case ON_MSGDLG_IMAGE:
g_bMouseMoveIn = true ;
m_uMsgDlgType = ON_MSGDLG_IMAGE;
m_dwMsgDlgOwner = lParam ;
break ;
case ON_MSGDLG_FACE:
g_bMouseMoveIn = true ;
m_uMsgDlgType = ON_MSGDLG_FACE;
m_dwMsgDlgOwner = lParam ;
break ;
case ON_MSGDLG_HIDE:
g_bMouseMoveIn = false ;
if ( !m_bExpShow )
g_objGameMap.SetShowExpFlag ( false ) ;
break ;
case ON_MSGDLG_STATIC:
g_bMouseMoveIn = true ;
m_uMsgDlgType = ON_MSGDLG_STATIC ;
// 判断是否点击按钮
if (0xFF000000 == (0xFF000000 & lParam))
{
// 判断是一直显示进度槽
// 是
if (m_dwProgressNumber != (0xFFFFFF & lParam))
{
m_dwProgressNumber = 0xFFFFFF & lParam;
m_bProgressHold = true;
m_HoldX = 0;
m_HoldY = 0;
}
// 否
else
{
m_bProgressHold = false;
}
lParam &= 0xFFFFFF;
}
m_btStaticID = lParam ;
break ;
case ON_MSGDLG_TEST:
break ;
case ON_ICON_PICKUP:
CMyShellDlg::OnIconPickUp ( lParam ) ;
break ;
case ON_ICON_DROP:
CMyShellDlg::OnIconDrop ( lParam ) ;
break ;
case ON_ICON_ID:
m_IconTypeID = lParam ;
break ;
case ON_ICON_PNT:
m_IconMousePnt.x = HIWORD ( lParam ) ;
m_IconMousePnt.y = LOWORD ( lParam ) ;
break ;
case ON_ICON_TRADE:
CMyShellDlg::OnIconTrade ( lParam ) ;
break ;
case ON_ICON_USE:
if ( !g_bPickUp )
{
CMyShellDlg::OnIconUse ( lParam ) ;
}
break ;
case ON_ICON_QUSE:
CMyShellDlg::OnIconQUse ( lParam ) ;
break ;
case ON_ICON_BUY:
CMyShellDlg::OnIconBuy ( lParam ) ;
break ;
case ON_MONSTERHEAD_SET:
m_DlgMain.m_DlgMonsterHeads.SetMonsterHeads (lParam);
break;
case ON_CHECKOUTEGG_ACCEPT:
{
CItem* pItem = g_objHero.GetPackageItemByIndex(lParam);
if (pItem && pItem->GetPackageType() == PACKAGE_EGG
&& g_objHero.GetPackageType() == PACKAGE_EUDEMON_BROODER)
{
if ( g_objHero.GetItemAmount(PACKAGE_EGG) >= g_objHero.GetPackageLimit (PACKAGE_EGG))
{
g_objGameMsg.AddMsg ( (char*)g_objGameDataSet.GetStr(10699) ) ;
m_DlgMain.m_DlgMonsterHatch.m_GridEggs.ReSumePickUp();
return;
}
g_objHero.CheckOutItem(pItem->GetID());
}
}
break;
case ON_FACTION_RENAME:
break;
case ON_FACTION_ADDENEMY:
if (g_objHero.IsSynLeader())
m_DlgConfirm.SetConfirmDlg(36,NULL);
break;
case ON_FACTION_ADDALLY:
if (g_objHero.IsSynLeader())
{
if (m_DlgMain.m_DlgKnightage.m_bShow)
{
m_DlgMain.m_DlgKnightage.EnableWindow(false);
m_DlgMain.m_uCurRDlgID = -1;
}
g_objGameMsg.AddMsg ( ( char* )g_objGameDataSet.GetStr ( 10345 ) ) ;
m_uCmd = CMD_ADDALLY ;
// m_DlgConfirm.SetConfirmDlg(35,NULL);
}
break;
case ON_FACTION_ADDALLYOK:
if (g_objHero.IsSynLeader())
{
g_objHero.AddAllySyn(lParam);
}
break;
case ON_MONSTER_OPTION:
{
for(int i=0;i< g_objHero.GetItemAmount (PACKAGE_PET);i++)
{
CItem* pItem = g_objHero.GetItemByIndex (i,PACKAGE_PET);
if (pItem && pItem->GetID () == lParam)
{
m_DlgMain.m_DlgMonster.SetCurMonster (i);
break;
}
}
}
break;
case ON_MONSTER_CALL:
{
m_DlgMain.m_DlgMonsterHeads.AddCallMonster(lParam);
}
break;
case ON_MONSTER_KILL:
{
m_DlgMain.m_DlgMonsterHeads.DelCallMonster(lParam);
}
break;
case ON_MONSTER_CHOOSE:
CMyShellDlg::OnMonsterChoose(lParam);
break;
case ON_ANNOUNCEINFO_OPEN:
m_DlgMain.m_DlgAnnounceInfo.SetInfoMode(0);
break;
case ON_MPCGOODS_CLOSE:
CMyShellDlg::OnMpcGoodsClose ( ) ;
break ;
case ON_MPCGOODS_MONEYDROP:
m_DlgConfirm.SetConfirmDlg( 5, NULL ) ;
break ;
case ON_MONSTER_DROP:
m_DlgConfirm.SetConfirmDlg( 32,NULL);
break;
case ON_MONSTERDROP_ACCEPT:
m_DlgMain.m_DlgMonster.DropMonster();
break;
case ON_NPCBUY_CLOSE:
m_DlgMain.m_uCurRDlgID = -1 ;
m_bIconFix = false ;
if ( m_DlgMain.m_DlgMpcGoods.m_bShow )
m_DlgMain.m_DlgMpcGoods.EnableWindow( false ) ;
if(m_DlgMain.m_DlgQuery.m_bShow)
m_DlgMain.m_DlgQuery.EnableWindow(false);
if ( g_bPickUp && m_PickUpDlgID == DLG_NPCBUY )
{
CMyShellDlg::OnIconDrop ( DLG_ALL ) ;
g_bPickUp = false ;
}
m_DlgMain.m_DlgMpcGoods.SetGridContain ();
m_DlgMain.m_DlgMpcGoods.SetStoneGrid();
break ;
case ON_MAIN_TRADE:
g_objGameMsg.AddMsg ( ( char* )g_objGameDataSet.GetStr ( 10065 ) ) ;//"请用鼠标左键选取交易对象" ) ;//
m_uCmd = CMD_TRADE ;
break ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -