⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytabctrl.cpp

📁 网络游戏龙族服务器端管理工具 rmtool 源代码
💻 CPP
字号:
// MyTabCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "rmtool.h"
#include "MyTabCtrl.h"
#include "TransferProgDlg.h"
#include "ServerView.h"
#include "ExeTransferDlg.h"
#include "AutoTransferDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyTabCtrl

CMyTabCtrl::CMyTabCtrl()
{
}

CMyTabCtrl::~CMyTabCtrl()
{
}


BEGIN_MESSAGE_MAP(CMyTabCtrl, CTabCtrl)
	//{{AFX_MSG_MAP(CMyTabCtrl)
	ON_WM_DROPFILES()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyTabCtrl message handlers

void CMyTabCtrl::OnDropFiles(HDROP hDropInfo) 
{
	// TODO: Add your message handler code here and/or call default

//kyo
#ifdef __COMPACT__
	AfxMessageBox( "RUN Only Full_version");
	return;
#endif

	if( !RIGHT(MASK_13) )	return;

	int count = 0;
	char szFileName[_MAX_PATH];
	CServerView* pView = (CServerView*)GetParent();

	if(pView->m_nCurView != 2)		//PatchView啊 酒囱版快 return;
		goto lb_exit;

	m_pApp = (CRMToolApp*)AfxGetApp();
	switch(pView->m_ServerPatchDlg.m_nRadioIni)
	{
	//ini 屈侥 
	case 0:
		{
			int nFolderCount = 0;
			CTransferProgDlg	dlg;
			CExeTransferDlg		dlg2;

			dlg.m_nCurServerSet = pView->m_nCurServerSet;
			dlg2.m_nCurServerSet = pView->m_nCurServerSet;
			//dlg.m_pPatchView = pView;		//瘤陛 捞 View(FormView) 器牢磐 悸泼 

			count = ::DragQueryFile(hDropInfo, 0xFFFFFFFF, szFileName, _MAX_PATH);
			
			for(int i=0; i < count; i++)
			{
				::DragQueryFile(hDropInfo, i, szFileName, _MAX_PATH);
				
				if(dlg.IsFile(szFileName))				//辑滚 角青颇老牢 版快 
				{
					dlg2.m_ExeList.AddTail(szFileName);
				}
				else									//弃歹牢 版快 	
				{
					dlg.m_PathList.AddTail(szFileName);		//Path 版肺 眠啊..
					nFolderCount++;
				}
			}
			::DragFinish(hDropInfo);

			dlg.m_nDropFileCount = nFolderCount;		//PatchView俊 冻绢柳 弃歹 肮荐甫 悸泼 

			if(dlg2.m_ExeList.GetCount() > 0)
			{
				if(dlg2.DoModal() == IDCANCEL)
					goto lb_exit;
			}

			switch(dlg.DoModal())
			{
			case IDOK:		
				{

				}
				break;
			case IDCANCEL:	break;
			default:		break;
			}

		}
		break;

	//老馆 颇老 
	case 1:
		{
			pView->m_ServerPatchDlg.UpdateData();
			int nServer = pView->m_ServerPatchDlg.CalcSelectedMachine();
			if(!nServer)
			{
				MessageBox("Select Server!");
				goto lb_exit;
			}
			
			//Buffer 盲快绊 
			if(!pView->m_ServerPatchDlg.SetBuffer())
			{
				MessageBox("Fail to SetBuffer()!","Error");
				return;
			}

			//角青颇老 傈价 
			//CStringList			exeList;
			CExeTransferDlg		dlg2;
			dlg2.m_bAuto = TRUE;	//磊悼 Drag 菩摹 
			dlg2.m_nCurServerSet = pView->m_nCurServerSet;
			
			CAutoTransferDlg	autoDlg;
			autoDlg.m_pView = pView;
			autoDlg.m_nExecute = pView->m_ServerPatchDlg.m_CheckExecute;
			
			count = ::DragQueryFile(hDropInfo, 0xFFFFFFFF, szFileName, _MAX_PATH);
			
#ifdef RM_LOG_MODE
	CString File[4];
#endif

			for(int i=0; i < count; i++)
			{
				::DragQueryFile(hDropInfo, i, szFileName, _MAX_PATH);
				dlg2.m_ExeList.AddTail(szFileName);
				//exeList.AddTail(szFileName);
				autoDlg.m_ExeList.AddTail(szFileName);
			
#ifdef RM_LOG_MODE
	File[i] = szFileName;
#endif
			}
			::DragFinish(hDropInfo);

			if(dlg2.m_ExeList.GetCount() > 0)
			{
	
				if(dlg2.DoModal() == IDCANCEL)
					goto lb_exit;
				else
				{
			
#ifdef RM_LOG_MODE
	CString str;	str.Format("ServerPatch :: 01. Transfer Files! -> FileNum: %d, AfterExecute: %d, File1: %s, File2: %s, File3: %s, File4: %s", count, pView->m_ServerPatchDlg.m_CheckExecute,File[0],File[1],File[2],File[3]);
	m_pApp->LogServer(pView->m_nCurServerSet, str);
#endif
				}

			}

			autoDlg.m_pDlg = &pView->m_ServerPatchDlg;
			if(autoDlg.DoModal())
			{
				MessageBox("File Transfer is Completed");

#ifdef RM_LOG_MODE
	CString str;	str.Format("ServerPatch :: 02. Sended File Copy Message!(Applied: %d server)", nServer);
	m_pApp->LogServer(pView->m_nCurServerSet, str);
#endif
			}
		}
		break;
	}
	
lb_exit:	
	pView->m_ServerPatchDlg.SetForegroundWindow();
	pView->m_ServerPatchDlg.Invalidate();

	CTabCtrl::OnDropFiles(hDropInfo);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -