📄 mainfrm.cpp
字号:
//秦寸 辑滚悸 橇遏矫 辑滚俊 立加 救等惑怕
MessageBox("Not connected nServerIndex...");
}
/*
m_pApp->m_nNewServersetIndex = nServerSetIndex; //橇废矫俊 货沥焊 夸没且锭 bOpenTemplate 啊 1牢版快
//览翠皋技瘤甫 罐篮促澜 捞 函荐俊 悸泼等
//ServerSet栏肺 肺靛矫挪促.
if(m_pApp->m_nCI[ nServerSetIndex - 1 ])
{
//秦寸 辑滚悸俊 辑滚 沥焊 夸没
PACKET_REQUEST_ALL_SUBSERVER_INFO packet(TRUE); //牢磊蔼捞 TRUE捞搁 辑滚沥焊甫 罐疽阑锭 辑滚 袍敲复阑 肺靛茄促.
g_pNet->Send(m_pApp->m_nCI[ nServerSetIndex - 1 ], (char*)&packet, packet.GetPacketSize());
}
else
{
//秦寸 辑滚悸 橇遏矫 辑滚俊 立加 救等惑怕
MessageBox("Not connected nServerIndex...");
}
rope
*/
}
CServerView* CMainFrame::FindServerView(int nServerSetIndex) //0锅 惑侩, 1锅 秋墨匙胶, 2锅 俺惯磊
{
CMultiDocTemplate *pTemplate;
CDocument *pDoc;
CView *pView;
CMDIChildWnd *pFrame;
POSITION p,vp;
CString title,id,view;
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
while(TRUE)
{
pTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
if(!pos) return NULL;
p = pTemplate->GetFirstDocPosition();
if(p == 0)
{
return NULL;
}
while(TRUE)
{
pDoc = pTemplate->GetNextDoc(p);
vp = pDoc->GetFirstViewPosition();
pView = pDoc->GetNextView(vp);
pFrame = (CMDIChildWnd*)pView->GetParentFrame();
pFrame->GetWindowText(title);
view = title.Mid(1,1);
if(!view.Compare("S")) //ServerView捞搁
{
id = title.Mid(2,2);
//泅犁 概俺函荐肺 林绢柳 ServerSet肺 嘎眠绢廉 乐绰 View啊 乐促搁 蔼阑 府畔
if(((CServerView*)pView)->m_nCurServerSet == nServerSetIndex)
{
return (CServerView*)pView;
}
}
if(p == 0) break; //捞霸 付瘤阜 档钮刚飘烙..
}
}
return NULL;
}
//秦寸 辑滚悸狼 葛电 轰甫 茫酒辑 Connect 惑怕甫 Setting 茄促.
void CMainFrame::SetAllServerViewConnectInfo(BOOL connect, int nServerSetIndex)
{
_ASSERTE( 0 <= nServerSetIndex ); //kyo
CMultiDocTemplate *pTemplate;
CDocument *pDoc;
CServerView *pView;
CMDIChildWnd *pFrame;
POSITION p,vp;
CString title,view;
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
while(TRUE)
{
pTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
if(!pos) return;
p = pTemplate->GetFirstDocPosition();
if(p == 0)
{
return;
}
while(TRUE)
{
pDoc = pTemplate->GetNextDoc(p);
vp = pDoc->GetFirstViewPosition();
pView = (CServerView*)pDoc->GetNextView(vp);
pFrame = (CMDIChildWnd*)pView->GetParentFrame();
pFrame->GetWindowText(title);
view = title.Mid(1,1);
if(!view.Compare("S")) //ServerView捞搁
{
//泅犁 概俺函荐肺 林绢柳 ServerSet肺 嘎眠绢廉 乐绰 View啊 乐促搁 蔼阑 府畔
if(pView->m_nCurServerSet == nServerSetIndex)
{
if(connect)
{
pView->m_szConnectInfo = "Connected";
pView->UpdateData(FALSE);
pView->c_ProxyConnect.EnableWindow(FALSE);
}
else
{
pView->m_szConnectInfo = "Disconnected";
pView->UpdateData(FALSE);
pView->c_ProxyConnect.EnableWindow(TRUE);
}
}
}
if(p == 0) break; //捞霸 付瘤阜 档钮刚飘烙..
}
}
return;
}
LONG CMainFrame::OnTrayNotification(UINT wParam, LONG lParam)
{
return m_TrayIcon.OnTrayNotification(wParam, lParam);
}
void CMainFrame::OnTrayExit()
{
// TODO: Add your command handler code here
// PostMessage(WM_SYSCOMMAND,SC_CLOSE);
CMainFrame::OnClose();
}
void CMainFrame::OnTrayShow()
{
// TODO: Add your command handler code here
ShowWindow(SW_SHOW);
}
void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
{
// TODO: Add your message handler code here and/or call default
if(nID == SC_CLOSE)
{
//累诀惑狼 祈狼甫 困秦 泪瘪 官肺 辆丰窍绰吧肺 窍磊..
if(nID == SC_CLOSE)
m_pApp->HideApplication();
return;
}
CMDIFrameWnd::OnSysCommand(nID, lParam);
}
void CMainFrame::AlarmStart()
{
char path[ MAX_PATH ];
// sprintf(path,"%s\\Down.wav",m_pApp->GetInstalledPath());
sprintf(path,"./Down.wav","");
sndPlaySound(path,SND_ASYNC | SND_LOOP);
}
void CMainFrame::AlarmStop()
{
sndPlaySound(NULL,SND_ASYNC);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case 1:
{
if(m_nEmergency == 1)
{
m_TrayIcon.SetIcon(IDI_SOUND);
m_nEmergency = 2; //2锅捞 IDI_SOUND
}else if(m_nEmergency == 2)
{
m_TrayIcon.SetIcon(IDI_SERVERDOWN);
m_nEmergency = 1; //1锅捞 IDI_SERVERDOWN栏肺 窍磊
}
}
break;
}
CMDIFrameWnd::OnTimer(nIDEvent);
}
void CMainFrame::OnServer()
{
//<! BBD 040330
if(m_pServerFrame) // 见败稠 磊侥捞 粮犁窍绊
{
// CServerView * pView = (CServerView * )m_pServerFrame->GetActiveView();
// if(pView->m_bIsUMS) // 弊 磊侥捞 UMS龙阑 窍绊 乐栏搁
// {
m_pServerFrame->ShowWindow(TRUE); // 乐绰 芒阑 傲 焊咯霖促
return;
// }
}
OnServerNew(); // 货 磊侥阑 父甸磊
//> BBD 040330
//Server Template Load
/*
int nServersetIndex;
//DefaultServerSet阑 汲沥 救沁栏搁
if(m_pApp->m_DefaultServerSetIndex == 0)
{
CSelectServersetDlg dlg;
nServersetIndex = dlg.DoModal();
// m_pApp->m_DefaultServerSetIndex = nServersetIndex;
// m_pApp->m_nNewServersetIndex = nServersetIndex; //橇废矫俊 货沥焊 夸没且锭 bOpenTemplate 啊 1牢版快
//览翠皋技瘤甫 罐篮促澜 捞 函荐俊 悸泼等
//ServerSet栏肺 肺靛矫挪促.
}
else
nServersetIndex = m_pApp->m_DefaultServerSetIndex;
*/
// m_pApp->OpenServerTemplate();
/*
CMultiDocTemplate* pDocTemplate;
//Server Template Load
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
CDocument* pDoc = pDocTemplate->OpenDocumentFile(NULL);
POSITION vp = pDoc->GetFirstViewPosition();
CServerView *pView = (CServerView*)pDoc->GetNextView(vp); //泅犁 Open茄 Document狼 View 器牢磐
if(m_pApp->m_nCI[ pView->m_nCurServerSet ])
{
//秦寸 辑滚悸俊 辑滚 沥焊 夸没
PACKET_REQUEST_ALL_SUBSERVER_INFO packet(TRUE, m_pApp->m_ServerDocCount); //牢磊蔼捞 TRUE捞搁 货肺款 Frame Open沁阑锭狼 Ruest捞促..
g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], (char*)&packet, packet.GetPacketSize());
PACKET_REQUEST_ALL_LISTENER_INFO packet3;
g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], (char*)&packet3, packet3.GetPacketSize());
}
else
{
//秦寸 辑滚悸 橇遏矫 辑滚俊 立加 救等惑怕
//MessageBox("Not connected nServerIndex...");
TRACE0( "Not connected nServerIndex..." );
}
*/
}
void CMainFrame::OnCharacter()
{
// TODO: Add your command handler code here
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
OnCharacterNew();
/*
CMultiDocTemplate *pDocTemplate;
CRMToolApp *pApp = (CRMToolApp*)AfxGetApp();
POSITION pos = pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)pApp->GetNextDocTemplate(pos); //Server Template
pDocTemplate = (CMultiDocTemplate*)pApp->GetNextDocTemplate(pos); //Character Template
pDocTemplate->OpenDocumentFile(NULL);
*/
}
void CMainFrame::OnCharacterConfigure()
{
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
//<! BBD Test
if( !RIGHT( MASK_2) ) return;
CMultiDocTemplate *pDocTemplate;
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos); //Character Template
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos); //Char Mgr Templeate
CDocument* pDoc = pDocTemplate->OpenDocumentFile(NULL);
POSITION vp = pDoc->GetFirstViewPosition();
CCharMgrView *pView = (CCharMgrView*)pDoc->GetNextView(vp); //泅犁 Open茄 Document狼 View 器牢磐
// MessageBox("No Used");
//> BBD Test
}
void CMainFrame::OnServerConfigure()
{
// TODO: Add your command handler code here
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
if( !RIGHT( MASK_3 )) return;
CServerConfigureDlg dlg;
dlg.DoModal();
}
void CMainFrame::OnAdminMode()
{
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
// TODO: Add your command handler code here
if( !RIGHT(MASK_5) )
return;
//CAdminDlg dlg;
cAdmindlg.DoModal();
}
//皋春
void CMainFrame::OnServerNew()
{
// TODO: Add your command handler code here
if( !RIGHT( MASK_1 ) ) return;
CMultiDocTemplate* pDocTemplate;
//Server Template Load
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
CDocument* pDoc = pDocTemplate->OpenDocumentFile(NULL);
POSITION vp = pDoc->GetFirstViewPosition();
CServerView *pView = (CServerView*)pDoc->GetNextView(vp); //泅犁 Open茄 Document狼 View 器牢磐
m_pServerFrame = (CChildFrame *)GetActiveFrame(); // BBD 040330
if(m_pApp->m_nCI[ pView->m_nCurServerSet ])
{
//秦寸 辑滚悸俊 辑滚 沥焊 夸没
PACKET_REQUEST_ALL_SUBSERVER_INFO packet(TRUE, m_pApp->m_ServerDocCount); //牢磊蔼捞 TRUE捞搁 货肺款 Frame Open沁阑锭狼 Ruest捞促..
g_pNet->Send(m_pApp->m_nCI[ pView->m_nCurServerSet ], (char*)&packet, packet.GetPacketSize());
}
else
{
//秦寸 辑滚悸 橇遏矫 辑滚俊 立加 救等惑怕
MessageBox("Not connected nServerIndex...");
}
}
//皋春
void CMainFrame::OnCharacterNew()
{
// TODO: Add your command handler code here
//kyo
#ifdef __COMPACT__
AfxMessageBox( "RUN Only Full_version");
return;
#endif
if( !RIGHT( MASK_2) ) return;
CMultiDocTemplate *pDocTemplate;
CRMToolApp *pApp = (CRMToolApp*)AfxGetApp();
POSITION pos = pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)pApp->GetNextDocTemplate(pos); //Server Template
pDocTemplate = (CMultiDocTemplate*)pApp->GetNextDocTemplate(pos); //Character Template
pDocTemplate->OpenDocumentFile(NULL);
}
void CMainFrame::Chime()
{
char path[ MAX_PATH ];
//sprintf(path,"%s\\30.wav",m_pApp->GetInstalledPath());
//sprintf(path,"./30.wav","");
sprintf(path,"./30.wav");
sndPlaySound(path,SND_ASYNC);
}
CServerView* CMainFrame::GetServerView()
{
//积己磊俊 糕滚蔼阑 汲沥沁促.m_pApp = (CRMToolApp*)AfxGetApp();
CMultiDocTemplate* pDocTemplate;
POSITION pos = m_pApp->GetFirstDocTemplatePosition();
pDocTemplate = (CMultiDocTemplate*)m_pApp->GetNextDocTemplate(pos);
CDocument* pDoc = pDocTemplate->OpenDocumentFile(NULL);
POSITION vp = pDoc->GetFirstViewPosition();
CServerView *pView = (CServerView*)pDoc->GetNextView(vp);
_ASSERTE( NULL != pView );
return pView;
}
void CMainFrame::SetRMServerInfo(QueryServerInfo *pServerInfo, int setnum)
{
if( m_iAncient != setnum )
{
m_iAncient = setnum;
m_iCount = 0;
}
CRMToolApp *pApp = (CRMToolApp*)AfxGetApp();
memcpy( &(pApp->m_ServerInfo[ setnum ][ m_iCount++]), (void*)pServerInfo, sizeof( QueryServerInfo ));
pApp->m_ServerSetInfo[ setnum ].nServerNum = m_iCount;
}
int CMainFrame::GetServerSetNumByServerSetIndex( int nServerSetIndex )
{
for( int i=0; i < CURRENT_SERVERSET_NUM; i++)
if( nServerSetIndex == g_NationAccount.iDragon_DB_ServerIndex[ i ] )
return i;
return -1;
}
void CMainFrame::OnTestfunction()
{
// TODO: Add your command handler code here
#ifdef __KOYANGHI__
CAccountAuthority cAuthority;
cAuthority.DoModal();
#endif
}
//////////////////////////////////////////////////////////////////////////////////////
// BBD 040105
// 窃荐疙 : InitRMServerStatus()
// 扁瓷 : RM_SERVER_STATUS狼 粮犁蜡公甫 犬牢窍绊 敲贰弊甫 悸泼茄促.
//////////////////////////////////////////////////////////////////////////////////////
bool CMainFrame::InitRMServerStatus()
{
char szQuery[ 1024 ];
WCHAR wszQuery[ 1024 ];
// 抛捞喉狼 粮犁蜡公 眉农
sprintf(szQuery, "if exists (select * from sysobjects where name = 'RM_SERVER_STATUS' and type = 'u') "
" select 1 else select 0 ");
g_pDb->KSCToUnicode(szQuery,wszQuery);
int result = 0;
int ret = g_pDb->OpenRecord(wszQuery, &result, 1, TOTAL_DB);
if(!ret)
{
return false; // 孽府 角菩
}
if(result) // 捞函荐俊 抛捞喉狼 粮犁啊 魄窜登绢 乐促
{
m_bUseRmServerStatusTBL = true;
}
else
{
m_bUseRmServerStatusTBL = false;
}
return true;
}
//////////////////////////////////////////////////////////////////////////////////////
// BBD 040105
// 窃荐疙 : RefreshRMServerStatus()
// 扁瓷 : m_pApp->m_ServerInfo狼 郴侩阑 RM_SERVER_STATUS俊 诀单勒 矫难霖促.
//////////////////////////////////////////////////////////////////////////////////////
bool CMainFrame::RefreshRMServerStatus()
{
if(!m_bUseRmServerStatusTBL) // 抛捞喉捞 绝绰 惑怕捞骨肺 鞠老档 且霸 绝促
{
return true;
}
char szQuery[ 1024 ];
WCHAR wszQuery[ 1024 ];
for(int i = 0; i < MAX_SERVERSET_NUM; i++)
{
for(int j = 0; j < MAX_SERVERNUM_PER_SERVERSET; j++)
{
sprintf(szQuery, "Update RM_SERVER_STATUS set ServerStatus=%d where Port = %d"
, m_pApp->m_ServerInfo[ i ][ j ].dwStatus, m_pApp->m_ServerInfo[ i ][ j ].Port);
g_pDb->KSCToUnicode(szQuery,wszQuery);
int ret = g_pDb->ExecuteSQL(wszQuery, TOTAL_DB);
if(!ret)
{
return false;
}
}
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -