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

📄 childfrm.cpp

📁 这是MFC经典问答书的光盘内容
💻 CPP
字号:
// ChildFrm.cpp : implementation of the CChildFrame class
//

#include "stdafx.h"
#include "TopMostView.h"

#include "ChildFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CChildFrame

IMPLEMENT_DYNCREATE(CChildFrame, CMDIChildWnd)

BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
	//{{AFX_MSG_MAP(CChildFrame)
	ON_COMMAND(ID_MODE_NORMAL, OnModeNormal)
	ON_COMMAND(ID_MODE_TOP, OnModeTop)
	ON_UPDATE_COMMAND_UI(ID_MODE_NORMAL, OnUpdateModeNormal)
	ON_UPDATE_COMMAND_UI(ID_MODE_TOP, OnUpdateModeTop)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChildFrame construction/destruction

CChildFrame* CChildFrame::m_pTopFrame = NULL;

CChildFrame::CChildFrame()
{
	// TODO: add member initialization code here
}

CChildFrame::~CChildFrame()
{
}

BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CMDIChildWnd::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CChildFrame diagnostics

#ifdef _DEBUG
void CChildFrame::AssertValid() const
{
	CMDIChildWnd::AssertValid();
}

void CChildFrame::Dump(CDumpContext& dc) const
{
	CMDIChildWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CChildFrame message handlers

void CChildFrame::OnModeNormal() 
{
	if( m_pTopFrame == this )
	{
		KillTimer( 1 );
		m_pTopFrame = NULL;
	}
}

void CChildFrame::OnModeTop() 
{
	if( m_pTopFrame != NULL )
	{
		ASSERT_VALID( m_pTopFrame );
		ASSERT_KINDOF( CChildFrame, m_pTopFrame );
		m_pTopFrame->OnModeNormal();
	}

	m_pTopFrame = this;

	SetTimer( 1, 200, NULL );
}

void CChildFrame::OnUpdateModeNormal(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck( m_pTopFrame != this );
}

void CChildFrame::OnUpdateModeTop(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck( m_pTopFrame == this );
}

void CChildFrame::OnTimer(UINT nIDEvent) 
{
	ASSERT( nIDEvent == 1 );
	ASSERT( m_pTopFrame == this );

	SetWindowPos(&wndTop, 0,0,0,0,
				SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
}

void CChildFrame::OnDestroy() 
{
	OnModeNormal();
    CMDIChildWnd::OnDestroy();
}

⌨️ 快捷键说明

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