www.gusucode.com > VC++制作3D效果的旋转文字特效源码程序 > VC++制作3D效果的旋转文字特效源码程序\code\Show3DHzView.cpp
// Show3DHzView.cpp : implementation of the CShow3DHzView class // Download by http://www.NewXing.com #include "stdafx.h" #include "Show3DHz.h" #include "Show3DHzDoc.h" #include "Show3DHzView.h" # include "HzGL.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView IMPLEMENT_DYNCREATE(CShow3DHzView, CView) BEGIN_MESSAGE_MAP(CShow3DHzView, CView) //{{AFX_MSG_MAP(CShow3DHzView) ON_WM_CREATE() ON_WM_DESTROY() ON_WM_SIZE() ON_COMMAND(ID_STOP, OnStop) ON_COMMAND(ID_BEGIN, OnBegin) ON_WM_TIMER() ON_WM_ERASEBKGND() //}}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() ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView construction/destruction CShow3DHzView::CShow3DHzView() { // TODO: add construction code here Time1=1; } CShow3DHzView::~CShow3DHzView() { } BOOL CShow3DHzView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView drawing void CShow3DHzView::OnDraw(CDC* pDC) { CShow3DHzDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); m_GL.Render() ; // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView printing BOOL CShow3DHzView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CShow3DHzView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CShow3DHzView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView diagnostics #ifdef _DEBUG void CShow3DHzView::AssertValid() const { CView::AssertValid(); } void CShow3DHzView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CShow3DHzDoc* CShow3DHzView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CShow3DHzDoc))); return (CShow3DHzDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CShow3DHzView message handlers int CShow3DHzView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here BOOL bResult = m_GL.Create(this) ; if (bResult) return 0 ; else return -1; return 0; } void CShow3DHzView::OnDestroy() { CView::OnDestroy(); //m_GL.Destroy(); // TODO: Add your message handler code here } void CShow3DHzView::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class } void CShow3DHzView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); m_GL.OnResize(cx,cy); // TODO: Add your message handler code here } void CShow3DHzView::OnStop() { // TODO: Add your command handler code here KillTimer(Time1); } void CShow3DHzView::OnBegin() { // TODO: Add your command handler code here SetTimer(Time1,40,NULL); } void CShow3DHzView::OnTimer(UINT nIDEvent) { Invalidate(); //CView::OnTimer(nIDEvent); } BOOL CShow3DHzView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call default return TRUE ; //return CView::OnEraseBkgnd(pDC); }