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

📄 dlgtool.cpp

📁 一个用vc编写的俄罗斯方块和贪吃蛇游戏的源代码
💻 CPP
字号:
// DlgTOOL.cpp : implementation file
//

#include "stdafx.h"
#include "games.h"
#include "DlgTOOL.h"
#include "gamswnd.h"
#include "gamesDoc.h"
#include "gamesView.h"
#include "shegame.h"
#include "ElsGame.h"

#include "ChildFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgTOOL dialog


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

void CDlgTOOL::OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized )
{
	this->GetParentFrame()->SendMessage(WM_NCACTIVATE, TRUE, 0);
}

BOOL CDlgTOOL::OnInitDialog()
{
	CDialog::OnInitDialog();
	static CImageList pImage;
		
	pImage.Create(IDB_TOOL, 16, 16, RGB(255,255,255));
	m_pTab.SetImageList(&pImage);
	m_pTab.InsertItem(0, "Tools", 0);
	
	CRect reClient;
	m_pTab.GetClientRect(reClient);
	
	m_Tree.Create(WS_VISIBLE|TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES
				| TVS_DISABLEDRAGDROP,CRect(0,0,300,400), (CWnd*)&m_pTab, 1);
	HTREEITEM h = m_Tree.InsertItem("Games");
	HICON hI = AfxGetApp()->LoadIcon(IDI_GAMES);
	pImage.Add(hI);
	m_Tree.SetImageList(&pImage, TVSIL_NORMAL);
	m_Tree.InsertItem("贪吃蛇", 1,1,h);
	m_Tree.InsertItem("俄罗斯方块", 1,1,h);
	return 1;
}
int CDlgTOOL::OnCreate( LPCREATESTRUCT lpCreateStruct)
{
	CDialog::OnCreate(lpCreateStruct);
	return 0;
}
void CDlgTOOL::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgTOOL)
	DDX_Control(pDX, IDC_TAB1, m_pTab);
	//}}AFX_DATA_MAP
}

void CDlgTOOL::OnSize( UINT nType, int cx, int cy )
{
	CDialog::OnSize(nType,cx,cy);
	if(m_pTab.m_hWnd != NULL)
	{
		m_pTab.MoveWindow(0,0,cx,cy);
		m_Tree.MoveWindow(0,0,cx,cy - 34);
	}
}

BEGIN_MESSAGE_MAP(CDlgTOOL, CDialog)
	//{{AFX_MSG_MAP(CDlgTOOL)
	ON_WM_ACTIVATE()
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1)
	ON_NOTIFY(NM_DBLCLK , 1, OnDbCilekTree)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgTOOL message handlers

void CDlgTOOL::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	*pResult = 0;
}

void CDlgTOOL::OnDbCilekTree(NMHDR* pNMHDR, LRESULT* pResult)
{
	HTREEITEM h = m_Tree.GetNextItem(TVI_ROOT, TVGN_CARET);
	if(h != NULL)
	{
		CString sText;
		sText = m_Tree.GetItemText(h);
		CRect reClient;
		::GetClientRect(m_pMainFrame->m_hWndMDIClient, &reClient);

		CGamsWnd * p;
		if(sText == "贪吃蛇")
			p = new CSheGame();
		else if(sText == "俄罗斯方块")
			p = new CElsGame();
		else
			return;
		
		p->Create(sText, WS_EX_TOOLWINDOW|WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW, reClient, m_pMainFrame);
		p->m_pTool = this;
		//p->ShowWindow(SW_SHOW);
		p->SendMessage(WM_NCACTIVATE, TRUE, 0);
	}
	*pResult = 0;
}

⌨️ 快捷键说明

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