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

📄 wzdview.cpp

📁 《vc++扩展编程实例》源码。运用Visual C++ 5.0或6.0的高级编程技巧
💻 CPP
字号:
// WzdView.cpp : implementation of the CWzdView class
//

#include "stdafx.h"
#include "Wzd.h"

#include "WzdDoc.h"
#include "WzdView.h"
#include "WzdFlDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CWzdView

IMPLEMENT_DYNCREATE(CWzdView, CView)

BEGIN_MESSAGE_MAP(CWzdView, CView)
	//{{AFX_MSG_MAP(CWzdView)
	ON_COMMAND(ID_TEST_WZD, OnTestWzd)
	//}}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)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWzdView construction/destruction

CWzdView::CWzdView()
{
	// TODO: add construction code here

}

CWzdView::~CWzdView()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CWzdView drawing

void CWzdView::OnDraw(CDC* pDC)
{
	CWzdDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CWzdView printing

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CWzdView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CWzdView message handlers

static char szFilter[] = "Accounting Files (*.log;*.txt)|*.log;*.txt|All Files (*.*)|*.*||";
static char lpstrCustomFilter[255]={"Previous Filter\0*.log\0"};

void CWzdView::OnTestWzd() 
{
	CWzdFileDialog dlg(
		TRUE,						//TRUE=File Open, FALSE=File Save As
		_T(".log"),					//default filename extension
		"",							//initial filename in edit box
// functionality flags
		OFN_ALLOWMULTISELECT| 		//allow multiple files to be selected
//		OFN_CREATEPROMPT |			// if File Save As, prompts user if they want to create non-existant file
//		OFN_OVERWRITEPROMPT |		// if File Save As--prompts user to ask if they want to overwrite an existing file
//		OFN_ENABLESIZING |  		// if Windows NT 5.0 or Win 98, causes box to be resizable by user
//		OFN_EXTENSIONDIFFERENT|		// allows user to enter a filename with a different extension from the default
//		OFN_FILEMUSTEXIST 			// file must exist
//		OFN_NOLONGNAMES |			// causes dialog to use short filenames (8.3)
//		OFN_PATHMUSTEXIST |			// user can only type valid paths and filenames
//		OFN_NOVALIDATE |			// the returned filname can have invalid characters
// appearence flags
//		OFN_HIDEREADONLY |			// hides read-only check box
//		OFN_NONETWORKBUTTON |		// hides Network button
//		OFN_READONLY |				// initially check Read Only check box
//		OFN_SHOWHELP |				// Help button appears--when clicked the hook procedure gets a CDN_HELP message
// custom template flags
		OFN_ENABLETEMPLATE | 		// you will be supplying your own custom dialog box template
		0,
		szFilter,					//file filter
		NULL);						// parent window

		// set an initial directory
		char lpszInitDir[]={"c:\\temp"};
		dlg.m_ofn.lpstrInitialDir=lpszInitDir;

		//set the dialog's title
		char lpszTitle[]={"Open Wzd File"};
		dlg.m_ofn.lpstrTitle=lpszTitle;

		// retain the customer's last file filter selection
		dlg.m_ofn.lpstrCustomFilter=lpstrCustomFilter;
		dlg.m_ofn.nMaxCustFilter=255;

		// if OFN_ENABLETEMPLATE is set, define the custom dialog template here
		dlg.m_ofn.lpTemplateName=MAKEINTRESOURCE(IDD_WZD_FILEOPEN);

		// open file dialog and get file name(s)
		if (dlg.DoModal()==IDOK)
		{
			// get filter number selected (index into filter list that user selected)
			int nFilterIndex=dlg.m_ofn.nFilterIndex;

			// get file name
			CString path=dlg.GetPathName();		//ex: c:\temp\temp.tmp
			CString file=dlg.GetFileName();		//ex: temp.tmp
			CString title=dlg.GetFileTitle();	//ex: temp
			CString ext=dlg.GetFileExt();		//ex: tmp

			BOOL bReadOnly = dlg.GetReadOnlyPref();

			// if OFN_ALLOWMULTISELECT is set, loop to get all file names
			for (POSITION pos=dlg.GetStartPosition();pos;)
			{
				CString pathx=dlg.GetNextPathName(pos); //ex: c:\temp\temp.tmp
			}
		}
}

⌨️ 快捷键说明

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