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

📄 dlgxxyx.cpp

📁 一个类似与浩方的战网平台源代码
💻 CPP
字号:
// DlgXXYX.cpp : implementation file
//

#include "stdafx.h"
#include "LinKGameEx.h"
#include "LinKGameExDlg.h"
#include "DlgXXYX.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgXXYX dialog


CDlgXXYX::CDlgXXYX(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgXXYX::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgXXYX)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDlgXXYX::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgXXYX)
	DDX_Control(pDX, IDC_GAMETREE, m_GameTree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgXXYX, CDialog)
	//{{AFX_MSG_MAP(CDlgXXYX)
	ON_NOTIFY(NM_DBLCLK, IDC_GAMETREE, OnDblclkGametree)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgXXYX message handlers

BOOL CDlgXXYX::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CRect m_Rect(0, 0, 0, 0);
	GetParent()->GetClientRect(&m_Rect);
	((CTabCtrl*)GetParent())->AdjustRect(false, &m_Rect); 
	MoveWindow(&m_Rect);

	InitGameTree();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgXXYX::InitGameTree()
{
	HTREEITEM m_hItem = this->m_GameTree.InsertItem( "休闲游戏", TVI_ROOT); //在根结点上添加 "棋牌游戏"
	int i = 1, j = 1;
	while(1)
	{
		// 读取游戏名称
		if( 0 == strlen(GetGameName( "XiuXianYouXi", i)))
		{
			i = 1;
			break;
		}
		else
		{
			HTREEITEM m_testhItem = this->m_GameTree.InsertItem( GetGameName( "XiuXianYouXi", i), m_hItem);
			while(1)
			{
				// 读取游戏房间名称
				if( 0 == strlen(GetGameRoom( GetGameName( "XiuXianYouXi", i), j)))
				{
					j = 1;
					break;
				}
				else
				{
					this->m_GameTree.InsertItem( GetGameRoom( GetGameName( "XiuXianYouXi", i), j), m_testhItem);
					j++;
				}
			}
			i++;
		}
	}
}

void CDlgXXYX::OnDblclkGametree(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	if( m_ChkhItem == this->m_GameTree.GetSelectedItem()) // 重复选择房间情况
	{
		if( "房间" == this->m_GameTree.GetItemText( m_ChkhItem).Left(4))
			MessageBox( "您已经进入" + this->m_GameTree.GetItemText( m_ChkhItem) + "房间", _T("邻客提示..."), MB_OK);
		return;
	}
	if(m_ChkhItem == NULL) // 没选择房间情况
	{
		m_ChkhItem = this->m_GameTree.GetSelectedItem(); 
		if( "房间" == this->m_GameTree.GetItemText( m_ChkhItem).Left(4))
		{
			MessageBox( _T("进入") + this->m_GameTree.GetItemText( m_ChkhItem), _T("邻客访问房间提示..."), MB_OK);
			IntoRoom();
		}
	}
	else // 更改访问房间
	{
		HTREEITEM m_testhItem = this->m_GameTree.GetSelectedItem();
		if( "房间" == this->m_GameTree.GetItemText(this->m_GameTree.GetSelectedItem()).Left(4))
		{
			if( "房间" == this->m_GameTree.GetItemText( m_ChkhItem).Left(4))
			{
				CString m_strChangeRoom;
				m_strChangeRoom = "您已经进入" + this->m_GameTree.GetItemText( m_ChkhItem) + "房间, ";
				m_strChangeRoom = m_strChangeRoom + "确定要转移到 " + this->m_GameTree.GetItemText( m_testhItem) + "房间吗";
				if(IDYES == MessageBox( m_strChangeRoom, "邻客转移房间提示...", MB_YESNO))
				{
					m_ChkhItem = m_testhItem;
					MessageBox( _T("进入") + this->m_GameTree.GetItemText( m_ChkhItem), _T("邻客访问房间提示..."), MB_OK);
					IntoRoom();
				}
			}
			else
			{
				m_ChkhItem = m_testhItem;
				MessageBox( _T("进入") + this->m_GameTree.GetItemText( m_ChkhItem), _T("邻客访问房间提示..."), MB_OK);
				IntoRoom();
			}
		}
	}
	*pResult = 0;
}

void CDlgXXYX::IntoRoom()
{
	((CLinKGameExDlg*)(theApp.m_pMainWnd))->ChkShow( 2);
}

⌨️ 快捷键说明

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