【VC开源代码栏目提醒】:以下是网学会员为您推荐的VC开源代码-DlgTOOL.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;
}
上一篇:
cksp_Find_u.pas
下一篇:
最新参考文献中的标点符号