propdlgdemoview.cpp

来自「VC.net 的一些有用的技巧」· C++ 代码 · 共 108 行

CPP
108
字号
// PropDlgDemoView.cpp : CPropDlgDemoView 类的实现
//

#include "stdafx.h"
#include "PropDlgDemo.h"

#include "PropDlgDemoDoc.h"
#include "PropDlgDemoView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CPropDlgDemoView

IMPLEMENT_DYNCREATE(CPropDlgDemoView, CEditView)

BEGIN_MESSAGE_MAP(CPropDlgDemoView, CEditView)
	ON_COMMAND(ID_MODEPROPDLG_MENU, OnModepropdlgMenu)
	ON_COMMAND(ID_WIZARDPROPDLG_MENU, OnWizardpropdlgMenu)
	ON_MESSAGE(WM_USER_OUTPUT, OnOutput)
END_MESSAGE_MAP()

// CPropDlgDemoView 构造/销毁

CPropDlgDemoView::CPropDlgDemoView()
{
	// TODO: 在此处添加构造代码

}

CPropDlgDemoView::~CPropDlgDemoView()
{
}

BOOL CPropDlgDemoView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
	// 样式

	BOOL bPreCreated = CEditView::PreCreateWindow(cs);
	cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL);	// 启用换行

	return bPreCreated;
}


// CPropDlgDemoView 诊断

#ifdef _DEBUG
void CPropDlgDemoView::AssertValid() const
{
	CEditView::AssertValid();
}

void CPropDlgDemoView::Dump(CDumpContext& dc) const
{
	CEditView::Dump(dc);
}

CPropDlgDemoDoc* CPropDlgDemoView::GetDocument() const // 非调试版本是内联的
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CPropDlgDemoDoc)));
	return (CPropDlgDemoDoc*)m_pDocument;
}
#endif //_DEBUG


// CPropDlgDemoView 消息处理程序
void CPropDlgDemoView::OnModepropdlgMenu()
{
	// TODO: 在此添加命令处理程序代码
	CInfoSheet InfoSheet("登记");
	InfoSheet.m_AuthorPage.strAuthor="FoxWave";
	InfoSheet.m_BookPage.strBook="VisualC++.NET实例详解";
	if(InfoSheet.DoModal()==IDOK)
		OnOutput((WPARAM)&InfoSheet,0);
}

void CPropDlgDemoView::OnWizardpropdlgMenu()
{
	// TODO: 在此添加命令处理程序代码
	CInfoSheet InfoSheet("登记");
	InfoSheet.SetWizardMode();
	InfoSheet.m_AuthorPage.strAuthor="FoxWave";
	InfoSheet.m_BookPage.strBook="VisualC++.NET实例详解";
	if(InfoSheet.DoModal()==ID_WIZFINISH)
		OnOutput((WPARAM)&InfoSheet,0);
}

//用户定义消息WM_USER_OUTPUT的处理函数
LRESULT CPropDlgDemoView::OnOutput(WPARAM wParam, LPARAM lParam)
{
	CInfoSheet *pSheet=(CInfoSheet*)wParam;
	CString str;
	GetWindowText(str);
	str+="\r\n";
	str+="作者:  ";
	str+=pSheet->m_AuthorPage.strAuthor;
	str+="\r\n";
	str+="出版物:  ";
	str+=pSheet->m_BookPage.strBook;
	str+="\r\n";
	SetWindowText(str);
	return 0;
}

⌨️ 快捷键说明

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