📄 dlgmain.cpp
字号:
CDlgMain::CloseNpcDlg();
CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_DLGTASK_CLOSE);
m_uCurMDlgID = DLG_SETUP ;
m_DlgSetup.EnableWindow() ;
return ;
}
else if ( m_DlgSetup.m_bShow )
{
m_uCurMDlgID = -1 ;
m_DlgSetup.Exit ();
return ;
}
}
void CDlgMain::OnMainChat()
{
DXPlaySound ( "Sound/DropMoney.wav" ) ;
if (g_objHero.IsDead())
{
g_objGameMsg.AddMsg((char*)g_objGameDataSet.GetStr(10712)); //死亡状态下不允许交易!
return;
}
else
CDlgMain::GetParent()->PostMessage( WM_MY_MESSAGE, ON_MAIN_TRADE ) ;
}
void CDlgMain::OnMainGroup()
{
if ( !m_DlgGroup.m_bShow )
{
m_DlgGroup.EnableWindow() ;
return ;
}
else if ( m_DlgGroup.m_bShow )
{
m_DlgGroup.EnableWindow( false ) ;
return ;
}
}
void CDlgMain::CloseCurDlg( int nPos )
{
if ( !m_bCreate )
return ;
if ( nPos == 0 )
{
switch ( m_uCurLDlgID )
{
case DLG_NPCBOOTH:
m_DlgNpcBooth.EnableWindow(false);
break;
case DLG_MPCBOOTH:
m_DlgMpcBooth.EnableWindow(false);
break;
case DLG_TRADE:
m_DlgTrade.EnableWindow( false ) ;
break ;
case DLG_TBOARDINFO:
m_DlgAnnounceInfo.EnableWindow(false);
break;
default:
break ;
}
m_uCurLDlgID = -1 ;
}
else if ( nPos == 1 )
{
CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_TALK_LOGCLOSE);
switch ( m_uCurMDlgID )
{
case DLG_IDENTIFY:
m_DlgIdentify.EnableWindow(false);
break;
case DLG_AUCTION:
m_DlgBidAuction.EnableWindow(false);
break;
case DLG_ADDAUCITEM:
m_DlgAddAucItem.EnableWindow(false);
break;
case DLG_AUCPACKAGE:
m_DlgAucPackage.EnableWindow(false);
break;
case DLG_MONSTERNPC:
m_DlgMonsterNpc.EnableWindow(false);
break;
case DLG_MONSTERDEPOT:
m_DlgMonsterDepot.EnableWindow(false);
break;
case DLG_MONSTEREVOLVE:
m_DlgMonsterEvolve.EnableWindow(false);
break;
case DLG_MONSTERIMPROVE:
m_DlgMonsterImprove.EnableWindow(false);
break;
case DLG_MONSTERHATCH:
m_DlgMonsterHatch.EnableWindow(false);
break;
case DLG_TASKUPITEM:
m_DlgTaskUpItem.EnableWindow(false);
break;
case DLG_INSHELP:
m_DlgInsHelp.EnableWindow(false);
break;
case DLG_EMBED:
m_DlgEmbed.EnableWindow(false);
break;
case DLG_IMPROVE:
m_DlgImprove.EnableWindow(false);
break;
case DLG_SETUP:
m_DlgSetup.EnableWindow( false ) ;
break ;
case DLG_MSGSEND:
m_DlgMsgSend.EnableWindow( false ) ;
break ;
case DLG_MSGRECEIVE:
m_DlgMsgReceive.EnableWindow( false ) ;
break ;
default:
break ;
}
m_uCurMDlgID = -1 ;
}
else if ( nPos == 2 || nPos == 10)
{
switch ( m_uCurRDlgID )
{
case DLG_NPCEQUIP:
m_DlgNpcEquip.EnableWindow(false);
break;
case DLG_TBOARDUP:
m_DlgAnnounceUp.EnableWindow(false);
break;
case DLG_TBOARDLIST:
m_DlgAnnounceList.EnableWindow(false);
break;
case DLG_TASKVIEW:
m_DlgPlayerTaskView.EnableWindow(false);
break;
case DLG_TASKGET:
m_DlgPlayerTaskUp.EnableWindow(false);
break;
case DLG_TASKLIST:
m_DlgPlayerTaskList.EnableWindow(false);
break;
case DLG_DEPOT:
m_DlgDepot.EnableWindow( false ) ;
break ;
case DLG_NPCBUY:
if(nPos != 10)
{
m_DlgNpcBuy.EnableWindow( false ) ;
m_DlgNpcBuy.CloseShop() ;
}
if ( m_DlgMpcGoods.m_bShow )
{
m_DlgMpcGoods.EnableWindow( false ) ;
}
break ;
case DLG_MONSTER:
m_DlgMonster.EnableWindow( false ) ;
break ;
case DLG_FRIEND:
m_DlgEnemyFriend.EnableWindow( false ) ;
break ;
case DLG_QUERY:
m_DlgQuery.EnableWindow( false ) ;
break ;
case DLG_CONTACT:
m_DlgKnightage.EnableWindow(false);
break;
default:
break ;
}
m_uCurRDlgID = -1 ;
}
else if ( nPos == 3 )
{
if ( m_DlgGroup.IsWindowEnabled() )
{
m_DlgGroup.EnableWindow( false ) ;
}
}
if (m_DlgBigmap.m_bShow)
m_DlgBigmap.EnableWindow(false);
}
void CDlgMain::OnMainFaction()
{
if ( !m_DlgKnightage.m_bShow )
{
if (m_DlgInsHelp.m_bShow)
m_DlgInsHelp.EnableWindow(false);
if (m_DlgSetup.m_bShow)
m_DlgSetup.EnableWindow(false);
CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_DLGTASK_CLOSE);
CDlgMain::CloseCurDlg ( 2 ) ;
m_uCurRDlgID = DLG_CONTACT ;
m_DlgKnightage.EnableWindow() ;
return ;
}
else if ( m_DlgKnightage.m_bShow )
{
m_uCurRDlgID = -1 ;
m_DlgKnightage.EnableWindow(false) ;
return ;
}
}
LRESULT CDlgMain::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_COMMAND:
{
if ( wParam == 1 || wParam == 2 )
return true ;
}
break;
case WM_DESTROY:
{
CDlgMain::WriteRecord () ;
}
break;
default:
break;
}
return CDialog::WindowProc(message, wParam, lParam);
}
void CDlgMain::OpenNpcShop(int nNpcType, OBJID idNpc)
{
if ( m_DlgTrade.m_bShow )
return ;
CDlgMain::CloseCurDlg ( 2 ) ;
if ( nNpcType != _ROLE_STORAGE_NPC )
{
if(m_DlgNpcBuy.OpenShop ( idNpc ) == 3)
{
if (!m_DlgMpcGoods.m_bShow )
{
m_DlgMpcGoods.EnableWindow();
m_DlgMpcGoods.m_ChkStones.SetCheckValue(1);
m_DlgMpcGoods.m_ChkGoods.SetCheckValue(0);
m_DlgMpcGoods.m_MpcStonesGri.EnableWindow();
m_DlgMpcGoods.m_MpcGoodsGri.EnableWindow(false);
}
}
else
{
if ( !m_DlgMpcGoods.m_bShow )
{
m_DlgMpcGoods.EnableWindow() ;
m_DlgMpcGoods.m_ChkStones.SetCheckValue(0);
m_DlgMpcGoods.m_ChkGoods.SetCheckValue(1);
m_DlgMpcGoods.m_MpcStonesGri.EnableWindow(false);
m_DlgMpcGoods.m_MpcGoodsGri.EnableWindow();
}
}
m_DlgNpcBuy.EnableWindow() ;
m_uCurRDlgID = DLG_NPCBUY ;
}
}
void CDlgMain::OpenDepot(int nNpcType, OBJID idNpc)
{
if ( m_DlgTrade.m_bShow )
return ;
CDlgMain::CloseCurDlg( 2 ) ;
m_DlgDepot.OpenDepot ( idNpc ) ;
m_DlgDepot.EnableWindow() ;
if ( !m_DlgMpcGoods.m_bShow )
{
m_DlgMpcGoods.EnableWindow() ;
}
m_uCurRDlgID = DLG_DEPOT ;
}
void CDlgMain::OnShellEnter()
{
m_DlgTalk.m_TalkDataCob.SetFocus () ;
}
void CDlgMain::PlayItemQUse(int nGridIndex)
{
CAni *pActAni = g_objGameDataSet.GetDataAni ( "ani/effect.ani",
"ItemUse",
EXIGENCE_IMMEDIATE ) ;
if ( pActAni != NULL )
{
CRect Drect, rect ;
CDlgMain::GetWindowRect ( Drect ) ;
m_DlgTalk.m_GoodBox.GetWindowRect ( rect ) ;
m_ActPnt.x = rect.left - Drect.left + m_DlgPnt.x + ( nGridIndex - 1 ) * 41 - 60;
m_ActPnt.y = m_DlgPnt.y + 30;
m_bItemAct = true ;
m_dwLastActTime = 0 ;
m_nActAmount = pActAni->GetFrameAmount () ;
}
}
void CDlgMain::OnMainMagic()
{
// Open Skill dialog
if(!m_DlgQuery.m_bShow)
{
if (m_DlgInsHelp.m_bShow)
m_DlgInsHelp.EnableWindow(false);
CDlgMain::GetParent()->PostMessage(WM_MY_MESSAGE,ON_DLGTASK_CLOSE);
CDlgMain::CloseCurDlg( 2 );
m_uCurRDlgID = DLG_QUERY;
m_DlgQuery.PopupCurChk();
m_DlgQuery.m_ChkSkill.SetCheckValue(1);
m_DlgQuery.m_btCurChildDlgID = 2;
CDlgMain::CloseCurDlg(1);
m_DlgQuery.m_DlgSkill.SetMagicSkill();
m_DlgQuery.EnableWindow(true);
}
else
{
if(m_DlgQuery.m_btCurChildDlgID == 2)
{
if (m_DlgQuery.m_DlgSkill.m_nSkillListMode == 1)
m_DlgQuery.m_DlgSkill.SetMagicSkill();
else
{
CDlgMain::CloseCurDlg(2);
m_uCurRDlgID = -1;
m_DlgQuery.EnableWindow(false);
}
return;
}
else
{
DXPlaySound( "Sound/up_Page.wav" ) ;
m_DlgQuery.HideCurDlg( m_DlgQuery.m_btCurChildDlgID);
m_DlgQuery.PopupCurChk();
m_DlgQuery.m_btCurChildDlgID = 2;
m_DlgQuery.m_ChkSkill.SetCheckValue(1);
m_DlgQuery.ShowCurDlg(2);
}
}
}
void CDlgMain::WriteRecord()
{
if ( g_objHero.GetName () == NULL || strlen ( g_objHero.GetName () ) == 0 )
return ;
if ( m_bReacord )
return ;
char strAppName[32] ;
sprintf ( strAppName, "%sRecord", g_objHero.GetName () ) ;
// begin test the account name
char* pstrTemp = strchr ( strAppName, '[' ) ;
if ( pstrTemp != NULL )
{
strncpy ( pstrTemp, "(", 1 ) ;
pstrTemp = NULL ;
}
pstrTemp = strchr ( strAppName, ']' ) ;
if ( pstrTemp != NULL )
{
strncpy ( pstrTemp, ")", 1 ) ;
pstrTemp = NULL ;
}
// end test the account name
/*/ itoa ( m_MapChk.GetCheckValue (), strMode, 10 ) ;
WritePrivateProfileString ( strAppName, "MapModeRecord", strMode, m_strOwnerIni ) ;
// itoa ( m_TalkChk.GetCheckValue (), strMode, 10 ) ;
WritePrivateProfileString ( strAppName, "TalkModeRecord", strMode, m_strOwnerIni ) ;*/
char strTypeID[32] ;
char strKeyName[16] ;
int i=0;
for ( i = 1; i <= GRID_ICONQUICK_NUM; i++ )
{
sprintf ( strKeyName, "QItem%dRecord", i ) ;
if ( m_DlgTalk.m_GoodBox.GetGridAble ( CPoint ( i, 1 ) ) )
{
switch ( m_DlgTalk.m_GoodBox.GetIconType ( i - 1 ) )
{
case ICON_TYPE_QUSE:
itoa ( m_DlgTalk.m_GoodBox.GetIconTypeID ( i - 1 ) * 10 + ICON_TYPE_QUSE, strTypeID, 10 ) ;
WritePrivateProfileString ( strAppName, strKeyName, strTypeID, m_strOwnerIni ) ;
break ;
}
}
else
WritePrivateProfileString ( strAppName, strKeyName, "", m_strOwnerIni ) ;
}
for ( i = 1; i <= 8; i++ )
{
sprintf ( strKeyName, "SkillHotKeyF%d", i ) ;
if (m_DlgQuery.m_DlgSkill.m_DlgSkillHotKey.m_HotKeyIdType[i-1]>0)
{
itoa (m_DlgQuery.m_DlgSkill.m_DlgSkillHotKey.m_HotKeyIdType[i-1], strTypeID , 10) ;
WritePrivateProfileString ( strAppName, strKeyName, strTypeID, m_strOwnerIni ) ;
}
else
WritePrivateProfileString ( strAppName, strKeyName, "", m_strOwnerIni ) ;
}
// write the chat color record
char strInt[8] ;
int nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue () ;
if (m_DlgSetup.m_DlgMusic.m_MusicChk.GetCheckValue()==0)
{
nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue()*10;
}
else
{
nValue = m_DlgSetup.m_DlgMusic.m_SliderMusic.GetSliderValue()*10 + 1;
}
// write record
itoa ( nValue, strInt, 10 ) ;
WritePrivateProfileString( strAppName, "MusicRecord", strInt, m_strOwnerIni ) ;
nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue () ;
if (m_DlgSetup.m_DlgMusic.m_SoundChk.GetCheckValue()==0)
{
nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue()*10;
}
else
nValue = m_DlgSetup.m_DlgMusic.m_SliderSound.GetSliderValue()*10 + 1;
// write record
itoa ( nValue, strInt, 10 ) ;
WritePrivateProfileString( strAppName, "EffectRecord", strInt, m_strOwnerIni ) ;
for ( i = 0; i < 5; i++ )
strInt[i] = m_DlgSetup.m_DlgSChat.m_nColorLog [i] + 48;
strInt[5] = '\0' ;
WritePrivateProfileString ( strAppName, "ChatColorRecord", strInt, m_strOwnerIni ) ;
int nAmount = g_objGameMsg.GetBlackNameAmount();
if (nAmount>0)
{
char strRecord[7*17];
char strTemp[16] ;
itoa ( nAmount, strTemp, 10 ) ;
strcpy ( strRecord, strTemp ) ;
strcat ( strRecord, "|" ) ;
for( i=0;i<__min(6,nAmount);i++)
{
strcat(strRecord,g_objGameMsg.GetBlackNameByIndex(i));
strcat(strRecord,"|");
}
WritePrivateProfileString ( strAppName, "BlackNameRecord", strRecord, m_strOwnerIni ) ;
}
else
WritePrivateProfileString ( strAppName, "BlackNameRecord", "", m_strOwnerIni ) ;
char strMode[16];
itoa ( CRole::s_nShadowType, strMode, 10 );
WritePrivateProfileString ( strAppName, "ShadowRecord", strMode, m_strOwnerIni ) ;
itoa ( m_DlgSetup.m_DlgGraph.m_ChkRoleName.GetCheckValue (), strInt, 10 ) ;
WritePrivateProfileString ( strAppName, "ShiftRecord", strInt, m_strOwnerIni ) ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -