www.pudn.com > opengl_pick_sample.rar > ogldoc.cpp


// ogldoc.cpp : implementation of the OGLDoc class 
// 
 
#include "stdafx.h" 
#include "OGLApp.h" 
 
#include "ogldoc.h" 
#include  
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// OGLDoc 
 
IMPLEMENT_DYNCREATE(OGLDoc, CDocument) 
 
BEGIN_MESSAGE_MAP(OGLDoc, CDocument) 
	//{{AFX_MSG_MAP(OGLDoc) 
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// OGLDoc construction/destruction 
 
OGLDoc::OGLDoc() 
{ 
	// TODO: add one-time construction code here 
 
} 
 
OGLDoc::~OGLDoc() 
{ 
} 
 
BOOL OGLDoc::OnNewDocument() 
{ 
	if (!CDocument::OnNewDocument()) 
		return FALSE; 
 
	// TODO: add reinitialization code here 
	// (SDI documents will reuse this document) 
 
	return TRUE; 
} 
 
 
 
///////////////////////////////////////////////////////////////////////////// 
// OGLDoc serialization 
 
void OGLDoc::Serialize(CArchive& ar) 
{ 
	if (ar.IsStoring()) 
	{ 
		// TODO: add storing code here 
	} 
	else 
	{ 
		// TODO: add loading code here 
	} 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// OGLDoc diagnostics 
 
#ifdef _DEBUG 
void OGLDoc::AssertValid() const 
{ 
	CDocument::AssertValid(); 
} 
 
void OGLDoc::Dump(CDumpContext& dc) const 
{ 
	CDocument::Dump(dc); 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// OGLDoc commands 
 
void OGLDoc::OnFileOpen()  
{ 
	CString file_types = "24-bit BMP Files (*.bmp)|*.bmp||"; 
 
	CFileDialog dlg(TRUE,NULL,NULL, 
		OFN_HIDEREADONLY | OFN_EXPLORER, 
		(LPCTSTR)file_types,NULL); 
	if (dlg.DoModal() == IDOK) 
	{ 
		CString filename = dlg.GetPathName(); 
 
		if (ReadBMPFile((const char *)(LPCTSTR)filename,m_dib)) 
		{ 
			UpdateAllViews(NULL); 
		} 
	} 
}