Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
MFCMDIPlayer/MFCMDIPlayerView.cpp
// MFCMDIPlayerView.cpp : implementation of the CMFCMDIPlayerView class |
// |
#include "stdafx.h" |
#include "MFCMDIPlayer.h" |
#include "MFCMDIPlayerDoc.h" |
#include "MFCMDIPlayerView.h" |
#ifdef _DEBUG |
#define new DEBUG_NEW |
#undef THIS_FILE |
static char THIS_FILE[] = __FILE__; |
#endif |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView |
IMPLEMENT_DYNCREATE(CMFCMDIPlayerView, CView) |
BEGIN_MESSAGE_MAP(CMFCMDIPlayerView, CView) |
//{{AFX_MSG_MAP(CMFCMDIPlayerView) |
ON_WM_CREATE() |
ON_WM_DESTROY() |
ON_WM_SIZE() |
//}}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() |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView construction/destruction |
CMFCMDIPlayerView::CMFCMDIPlayerView() |
{ |
// Create a QuickTime object |
pQuickTime = new CQuickTime; |
} |
CMFCMDIPlayerView::~CMFCMDIPlayerView() |
{ |
// Destroy the QuickTime object |
if ( pQuickTime ) |
delete pQuickTime; |
} |
BOOL CMFCMDIPlayerView::PreCreateWindow(CREATESTRUCT& cs) |
{ |
// TODO: Modify the Window class or styles here by modifying |
// the CREATESTRUCT cs |
return CView::PreCreateWindow(cs); |
} |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView drawing |
void CMFCMDIPlayerView::OnDraw(CDC* pDC) |
{ |
Movie theMovie; |
CMFCMDIPlayerDoc* pDoc = GetDocument(); |
ASSERT_VALID(pDoc); |
if (theMovie = pQuickTime->GetMovie()) |
UpdateMovie(theMovie); |
} |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView printing |
BOOL CMFCMDIPlayerView::OnPreparePrinting(CPrintInfo* pInfo) |
{ |
// default preparation |
return DoPreparePrinting(pInfo); |
} |
void CMFCMDIPlayerView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) |
{ |
// TODO: add extra initialization before printing |
} |
void CMFCMDIPlayerView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) |
{ |
// TODO: add cleanup after printing |
} |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView diagnostics |
#ifdef _DEBUG |
void CMFCMDIPlayerView::AssertValid() const |
{ |
CView::AssertValid(); |
} |
void CMFCMDIPlayerView::Dump(CDumpContext& dc) const |
{ |
CView::Dump(dc); |
} |
CMFCMDIPlayerDoc* CMFCMDIPlayerView::GetDocument() // non-debug version is inline |
{ |
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMFCMDIPlayerDoc))); |
return (CMFCMDIPlayerDoc*)m_pDocument; |
} |
#endif //_DEBUG |
///////////////////////////////////////////////////////////////////////////// |
// CMFCMDIPlayerView message handlers |
BOOL CMFCMDIPlayerView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) |
{ |
// TODO: Add your specialized code here and/or call the base class |
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext); |
} |
int CMFCMDIPlayerView::OnCreate(LPCREATESTRUCT lpCreateStruct) |
{ |
if (CView::OnCreate(lpCreateStruct) == -1) |
return -1; |
// Setup movie window |
strcpy((char *)pQuickTime->theAppName, AfxGetAppName()); // store app name for window title |
pQuickTime->OnMovieWindowCreate( m_hWnd, lpCreateStruct); |
return 0; |
} |
void CMFCMDIPlayerView::OnDestroy() |
{ |
CView::OnDestroy(); |
// Destroy movie window |
pQuickTime->OnMovieWindowDestroy(); |
} |
BOOL CMFCMDIPlayerView::OpenMovie(void) |
{ |
return pQuickTime->OpenMovie((unsigned char *)(LPCSTR)mfullPath); |
} |
void CMFCMDIPlayerView::CloseMovie(void) |
{ |
pQuickTime->CloseMovie(); |
} |
LRESULT CMFCMDIPlayerView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) |
{ |
if(message == WM_ERASEBKGND){ |
LRESULT theResult = CView::WindowProc(message, wParam, lParam); |
pQuickTime->ProcessMovieEvent (m_hWnd, message, wParam, lParam); |
return theResult; |
} else { |
pQuickTime->ProcessMovieEvent (m_hWnd, message, wParam, lParam); |
return CView::WindowProc(message, wParam, lParam); |
} |
} |
void CMFCMDIPlayerView::OnSize(UINT nType, int cx, int cy) |
{ |
CView::OnSize(nType, cx, cy); |
if (cy && cx) |
{ |
// calculate the size of the frame |
CFrameWnd* pFrame = GetParentFrame(); |
if (pFrame != NULL) |
{ |
CRect rectSized(0, 0, cx, cy); |
pFrame->CalcWindowRect(rectSized); |
pFrame->SetWindowPos(this,0,0,rectSized.Width() + 4,rectSized.Height()+ 4, SWP_NOZORDER | SWP_NOMOVE ); |
} |
} |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14