www.pudn.com > CustomTabCtrl.zip > CustomTabCtrlDemoMDIView.cpp


// CustomTabCtrlDemoMDIView.cpp : implementation of the CCustomTabCtrlDemoMDIView class 
// 
 
#include "stdafx.h" 
#include "CustomTabCtrlDemoMDI.h" 
 
#include "CustomTabCtrlDemoMDIDoc.h" 
#include "CustomTabCtrlDemoMDIView.h" 
#include "DlgProperties.h" 
#include "MainFrm.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView 
 
IMPLEMENT_DYNCREATE(CCustomTabCtrlDemoMDIView, CHtmlView) 
 
BEGIN_MESSAGE_MAP(CCustomTabCtrlDemoMDIView, CHtmlView) 
	//{{AFX_MSG_MAP(CCustomTabCtrlDemoMDIView) 
	ON_WM_DESTROY() 
	//}}AFX_MSG_MAP 
	// Standard printing commands 
	ON_COMMAND(ID_FILE_PRINT, CHtmlView::OnFilePrint) 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView construction/destruction 
 
CCustomTabCtrlDemoMDIView::CCustomTabCtrlDemoMDIView() 
{ 
} 
 
CCustomTabCtrlDemoMDIView::~CCustomTabCtrlDemoMDIView() 
{ 
} 
 
BOOL CCustomTabCtrlDemoMDIView::PreCreateWindow(CREATESTRUCT& cs) 
{ 
	// TODO: Modify the Window class or styles here by modifying 
	//  the CREATESTRUCT cs 
	return CHtmlView::PreCreateWindow(cs); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView drawing 
 
void CCustomTabCtrlDemoMDIView::OnDraw(CDC* /*pDC*/) 
{ 
	CCustomTabCtrlDemoMDIDoc* pDoc = GetDocument(); 
	ASSERT_VALID(pDoc); 
	// TODO: add draw code for native data here 
} 
 
void CCustomTabCtrlDemoMDIView::OnInitialUpdate() 
{ 
	CHtmlView::OnInitialUpdate(); 
	 
	static int start_view_number = 0; 
	switch(start_view_number) 
	{ 
	case 0: 
		GetDocument()->m_sLabel = _T("CCustomTabCtrl"); 
		GetDocument()->m_sUrl = _T("http://www.codeproject.com/tabctrl/AMCustomTabCtrlDemo.asp"); 
		GetDocument()->m_sTooltip = _T("MFC Tab Control - a clone of the Excel Tab Sheet Control"); 
		start_view_number++; 
		AfxGetApp()->GetMainWnd()->PostMessage(WM_COMMAND,ID_FILE_NEW); 
		((CMainFrame*)AfxGetApp()->m_pMainWnd)->MDIMaximize(GetParentFrame()); 
		break; 
	case 1: 
		GetDocument()->m_sLabel = _T("CCustomBitmapButton"); 
		GetDocument()->m_sUrl = _T("http://www.codeproject.com/buttonctrl/CustomBitmapButtonDemo.asp"); 
		GetDocument()->m_sTooltip = _T("An owner-draw bitmap button and a frame for the caption bar, in one class"); 
		start_view_number++; 
		AfxGetApp()->GetMainWnd()->PostMessage(WM_COMMAND,ID_FILE_NEW); 
		break; 
	case 2: 
		GetDocument()->m_sLabel = _T("MDIFlick"); 
		GetDocument()->m_sUrl = _T("http://www.codeproject.com/buglist/MDIFlick.asp"); 
		GetDocument()->m_sTooltip = _T("Provides a fix to the flicker problem in MDI applications"); 
		start_view_number++; 
		break; 
	} 
	Navigate2(GetDocument()->m_sUrl,NULL,NULL); 
	((CMainFrame*)AfxGetApp()->m_pMainWnd)->AddView(GetDocument()->m_sLabel,this,GetDocument()->m_sTooltip); 
	GetDocument()->SetTitle(GetDocument()->m_sLabel); 
	if(start_view_number==3) 
	{ 
		start_view_number++; 
		AfxGetApp()->GetMainWnd()->PostMessage(WM_SETCURSELMSG,0); 
	} 
} 
 
void CCustomTabCtrlDemoMDIView::OnDestroy()  
{ 
	CHtmlView::OnDestroy(); 
	((CMainFrame*)AfxGetApp()->m_pMainWnd)->DeleteView(this); 
} 
 
void CCustomTabCtrlDemoMDIView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView)  
{	 
	CHtmlView::OnActivateView(bActivate, pActivateView, pDeactiveView); 
	if(bActivate) 
		((CMainFrame*)AfxGetApp()->m_pMainWnd)->OnActivateView(pActivateView); 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView printing 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView diagnostics 
 
#ifdef _DEBUG 
void CCustomTabCtrlDemoMDIView::AssertValid() const 
{ 
	CHtmlView::AssertValid(); 
} 
 
void CCustomTabCtrlDemoMDIView::Dump(CDumpContext& dc) const 
{ 
	CHtmlView::Dump(dc); 
} 
 
CCustomTabCtrlDemoMDIDoc* CCustomTabCtrlDemoMDIView::GetDocument() // non-debug version is inline 
{ 
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCustomTabCtrlDemoMDIDoc))); 
	return (CCustomTabCtrlDemoMDIDoc*)m_pDocument; 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CCustomTabCtrlDemoMDIView message handlers