Click here to Skip to main content
15,892,746 members
Articles / Desktop Programming / MFC

Fast screen, window, region and print screen capture

Rate me:
Please Sign up or sign in to vote.
1.39/5 (73 votes)
4 Dec 2002CPOL 342.6K   5K   67  
Screen Snaper is an fast screen, window, region and print screen capture
// SnaperTestDoc.h : interface of the CSnaperTestDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_SNAPERTESTDOC_H__FADBC895_63C1_40F9_8B2E_4A0DA26E632A__INCLUDED_)
#define AFX_SNAPERTESTDOC_H__FADBC895_63C1_40F9_8B2E_4A0DA26E632A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


class CSnaperTestDoc : public CDocument
{
protected: // create from serialization only
	CSnaperTestDoc();
	DECLARE_DYNCREATE(CSnaperTestDoc)

// Attributes
private:
    HBITMAP m_hImage;
    CSize   m_Size;

// Operations
public:
    HBITMAP GetImage() { return m_hImage; }
    CSize   GetImageSize() { return m_Size; }
    BOOL    SetImage(HBITMAP hImage)
    {
        if (!hImage)
            return FALSE;
        
        if (m_hImage)
            DeleteObject(m_hImage);

        m_hImage = hImage;

        return TRUE;
    }

    void    SetImageSize(CSize Size) { m_Size = Size; }

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSnaperTestDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CSnaperTestDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CSnaperTestDoc)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SNAPERTESTDOC_H__FADBC895_63C1_40F9_8B2E_4A0DA26E632A__INCLUDED_)

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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO
Canada Canada

Comments and Discussions