// This code and information is provided "as is" without warranty of // any kind, either expressed or implied, including but not limited to // the implied warranties of merchantability and/or fitness for a // particular purpose. // Copyright (C) 1996 - 1998 Intel corporation. All rights reserved. // mainfrm.cpp : implementation of the CMainFrame class // #include "stdafx.h" #include "IPlay.h" #include "IPlayDoc.h" #include "mainfrm.h" #ifdef _DEBUG #undef THIS_FILE static char BASED_CODE THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMainFrame IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd) BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_COMMAND(ID_MEDIA_INDEO, OnMediaIndeo) ON_UPDATE_COMMAND_UI(ID_MEDIA_INDEO, OnUpdateMediaIndeo) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // arrays of IDs used to initialize control bars // toolbar buttons - IDs are command buttons static UINT BASED_CODE buttons[] = { // same order as in the bitmap 'toolbar.bmp' ID_FILE_OPEN, ID_SEPARATOR, ID_MEDIA_PLAY, ID_MEDIA_PAUSE, ID_MEDIA_STOP, ID_SEPARATOR, ID_MEDIA_LOOP, ID_MEDIA_ZOOMX2, ID_SEPARATOR, ID_SEPARATOR, ID_SEPARATOR, ID_MEDIA_INDEO }; ///////////////////////////////////////////////////////////////////////////// // CMainFrame construction/destruction CMainFrame::CMainFrame() { EnableDocking(CBRS_FLOAT_MULTI); } CMainFrame::~CMainFrame() { } int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.Create(this) || !m_wndToolBar.LoadBitmap(IDR_MAINFRAME) || !m_wndToolBar.SetButtons(buttons, sizeof(buttons)/sizeof(UINT))) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } m_wndToolBar.SetSizes( CSize( 40, 40 ), CSize( 32, 32 ) ); m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP); // Enable tool tips m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY); // Position window in upper, left corner SetWindowPos( NULL, 0, 0, 424, 96, SWP_NOZORDER ); m_bIndeo = FALSE; return 0; } ///////////////////////////////////////////////////////////////////////////// // CMainFrame diagnostics #ifdef _DEBUG void CMainFrame::AssertValid() const { CFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { CFrameWnd::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMainFrame message handlers BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { // Set optimum size for view cs.cx = 422; cs.cy = 524; cs.style = WS_OVERLAPPED | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX; return CFrameWnd::PreCreateWindow(cs); } void CMainFrame::OnMediaIndeo() { m_bIndeo = !m_bIndeo; if (m_bIndeo) SetWindowPos(NULL, 0, 0, 422, 524, SWP_NOMOVE | SWP_NOZORDER ); else SetWindowPos(NULL, 0, 0, 422, 96, SWP_NOMOVE | SWP_NOZORDER ); } void CMainFrame::OnUpdateMediaIndeo(CCmdUI* pCmdUI) { pCmdUI->SetCheck( m_bIndeo ); }