Click here to Skip to main content
15,897,187 members
Articles / Desktop Programming / MFC

Create Thumbnail Extractor Objects for Your MFC Document Types

Rate me:
Please Sign up or sign in to vote.
4.94/5 (23 votes)
21 Nov 20025 min read 356.6K   4.3K   104  
An article on writing thumbnail shell extensions for your MFC document types
// $$Object$$Doc.cpp : implementation of the C$$Object$$Doc class
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include "stdafx.h"
//#include "$$Object$$.h"

#include "$$Object$$Doc.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// C$$Object$$Doc

IMPLEMENT_DYNCREATE(C$$Object$$Doc, CDocument)

BEGIN_MESSAGE_MAP(C$$Object$$Doc, CDocument)
	//{{AFX_MSG_MAP(C$$Object$$Doc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// C$$Object$$Doc construction/destruction

C$$Object$$Doc::C$$Object$$Doc()
{
	// TODO: add one-time construction code here

}

C$$Object$$Doc::~C$$Object$$Doc()
{
}

BOOL C$$Object$$Doc::OnNewDocument()
{
	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// C$$Object$$Doc serialization

void C$$Object$$Doc::Serialize(CArchive& ar)
{
	// TODO: Serialize your document here
	if (ar.IsStoring())
	{
	//	ar << m_sizeDoc;
	}
	else
	{
	//	ar >> m_sizeDoc;
	}
}

/////////////////////////////////////////////////////////////////////////////
// C$$Object$$Doc diagnostics

#ifdef _DEBUG
void C$$Object$$Doc::AssertValid() const
{
	CDocument::AssertValid();
}

void C$$Object$$Doc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// C$$Object$$Doc commands

BOOL C$$Object$$Doc::OnOpenDocument(LPCTSTR lpszPathName)
{
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;
	return TRUE;
}

void C$$Object$$Doc::DeleteContents()
{
	// TODO: Delete the contents of your documents here
	m_sizeDoc = CSize(100,100);
	CDocument::DeleteContents();
}

// copied from C$$Object$$View, replace GetDocument() with this
void C$$Object$$Doc::OnDraw(CDC* pDC)
{
	C$$Object$$Doc* pDoc = this; //GetDocument();
	ASSERT_VALID(pDoc);

	// TODO: Draw your document here
	pDC->Ellipse(0,0,100,-100);
}

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.


Written By
Web Developer Forthnet
Greece Greece
Software developer and Microsoft Trainer, Athens, Greece (MCT, MCSD.net, MCSE 2003, MCDBA 2000,MCTS, MCITP, MCIPD).

Comments and Discussions