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

📄 modeless_dialogview.cpp

📁 关于使用VC编程的代码
💻 CPP
字号:
// Modeless_DialogView.cpp : implementation of the CModeless_DialogView class
//

#include "stdafx.h"
#include "Modeless_Dialog.h"

#include "Modeless_DialogDoc.h"
#include "Modeless_DialogView.h"
#include "ModelessDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView

IMPLEMENT_DYNCREATE(CModeless_DialogView, CView)

BEGIN_MESSAGE_MAP(CModeless_DialogView, CView)
	//{{AFX_MSG_MAP(CModeless_DialogView)
	ON_COMMAND(ID_MODELESS_BEGIN, OnModelessBegin)
	ON_COMMAND(ID_MODELESS_END, OnModelessEnd)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
	ON_MESSAGE(WM_COMPLETED, OnCompleted)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView construction/destruction

CModeless_DialogView::CModeless_DialogView()
{
	m_pDlg = new CModelessDlg(this);
}

CModeless_DialogView::~CModeless_DialogView()
{
	if(m_pDlg != NULL)
	{
		delete m_pDlg;
		m_pDlg = NULL;
	}
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView drawing

void CModeless_DialogView::OnDraw(CDC* pDC)
{
	CModeless_DialogDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView printing

BOOL CModeless_DialogView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CModeless_DialogView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CModeless_DialogView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView diagnostics

#ifdef _DEBUG
void CModeless_DialogView::AssertValid() const
{
	CView::AssertValid();
}

void CModeless_DialogView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CModeless_DialogDoc* CModeless_DialogView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CModeless_DialogDoc)));
	return (CModeless_DialogDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CModeless_DialogView message handlers

void CModeless_DialogView::OnModelessBegin() 
{
    // 如果对话框没有建立,建立并显示对话框
    if (m_pDlg->GetSafeHwnd() == 0) 
	{
        m_pDlg->Create(); 
		m_pDlg->ShowWindow(SW_SHOW);
    }
}

void CModeless_DialogView::OnModelessEnd() 
{
	// 如果对话框已经删除,这条语句不会出错
    m_pDlg->DestroyWindow();
}

LRESULT CModeless_DialogView::OnCompleted(WPARAM wParam, LPARAM lParam)
{
	AfxMessageBox("WM_COMPLETED message Received,Exit Dialog Now!");
	m_pDlg->DestroyWindow();
	return 0L;
}

⌨️ 快捷键说明

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