Click here to Skip to main content
15,868,016 members
Articles / Desktop Programming / MFC

OpenGL MFC AppWizard

Rate me:
Please Sign up or sign in to vote.
4.79/5 (10 votes)
15 Jan 2009GPL36 min read 154.9K   5.4K   68  
An article showing how to make a Custom AppWizard for OpenGL applications in Visual Studio .NET 2008
//  OpenGLView.h
//	Copyright (C) Dave Kerr
//
//	Derive your View from OpenGL and you get full access to OpenGL.

#include "OpenGLSurface.h"

class COpenGLView : public CView
{      
	DECLARE_DYNCREATE(COpenGLView)

protected:

	//	Constructor / Descructor.
	COpenGLView() {}
	virtual ~COpenGLView() {}     

protected:
	virtual void OnDraw(CDC* pDC);      
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual void PostNcDestroy() {}		//	Without this we get a run time error in non doc/view apps.

	//	Debug functions.
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif
	
	//	This is the main function you must override - do all OpenGL
	//	drawing in it.
	virtual void DoOpenGLDraw() {}

	//	Do all OpenGL resizing and projections etc in this function.
	virtual void DoOpenGLResize(int nWidth, int nHeight) {}

protected:

	//	This is the main part of the view - the OpenGL surface we actually draw to.
	COpenGLSurface m_openGLSurface;

	//	Generated message map functions.
protected:
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDestroy();
	
	DECLARE_MESSAGE_MAP()
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer
United Kingdom United Kingdom
Follow my blog at www.dwmkerr.com and find out about my charity at www.childrenshomesnepal.org.

Comments and Discussions