Click here to Skip to main content
15,891,473 members
Articles / Desktop Programming / MFC

Double Buffered DC Class

Rate me:
Please Sign up or sign in to vote.
3.93/5 (15 votes)
15 Jan 20041 min read 72.7K   1.7K   25  
CDC descendant with double buffering abilities
//Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//

#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

#ifdef APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE  
BEGIN
	"resource.h\0"
END

2 TEXTINCLUDE  
BEGIN
	"#include ""afxres.h""\r\n"
	"\0"
END

3 TEXTINCLUDE  
BEGIN
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
    "#define _AFX_NO_OLE_RESOURCES\r\n"
    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
	"\r\n"
	"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
	"LANGUAGE 9, 1\r\n"
	"#pragma code_page(1252)\r\n"
	"#include ""res\\akBufferedDC.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
	"#include ""afxres.rc""  	// Standard components\r\n"
	"#endif\r\n"
	"\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE 9, 1
#pragma code_page(1252)
IDR_MAINFRAME           ICON         "res\\akBufferedDC.ico"
#endif


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE 9, 1
#pragma code_page(1252)
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

IDR_MAINFRAME MENU   
BEGIN
	POPUP "&File"
	BEGIN
		MENUITEM "E&xit",                       ID_APP_EXIT
	END
	POPUP "&Edit"
	BEGIN
		MENUITEM "&Undo\tCtrl+Z",               ID_EDIT_UNDO
		MENUITEM SEPARATOR
		MENUITEM "Cu&t\tCtrl+X",                ID_EDIT_CUT
		MENUITEM "&Copy\tCtrl+C",               ID_EDIT_COPY
		MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
	END
	POPUP "&Help"
	BEGIN
		MENUITEM "&About akBufferedDC...",          ID_APP_ABOUT
	END
END


/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

IDR_MAINFRAME ACCELERATORS   
BEGIN
	"C",            ID_EDIT_COPY,           VIRTKEY,CONTROL,NOINVERT
	"V",            ID_EDIT_PASTE,          VIRTKEY,CONTROL,NOINVERT
	VK_BACK,        ID_EDIT_UNDO,           VIRTKEY,ALT,NOINVERT
	VK_DELETE,      ID_EDIT_CUT,            VIRTKEY,SHIFT,NOINVERT
	VK_F6,          ID_NEXT_PANE,           VIRTKEY ,NOINVERT
	VK_F6,          ID_PREV_PANE,           VIRTKEY,SHIFT,NOINVERT
	VK_INSERT,      ID_EDIT_COPY,           VIRTKEY,CONTROL,NOINVERT
	VK_INSERT,      ID_EDIT_PASTE,          VIRTKEY,SHIFT,NOINVERT
	"X",            ID_EDIT_CUT,            VIRTKEY,CONTROL,NOINVERT
	"Z",            ID_EDIT_UNDO,           VIRTKEY,CONTROL,NOINVERT
END

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_ABOUTBOX DIALOGEX   0, 0, 235, 55
CAPTION "About akBufferedDC"
STYLE DS_MODALFRAME | DS_SHELLFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU
FONT 8, "MS Shell Dlg"
BEGIN
	ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
	LTEXT           "akBufferedDC Version 1.0",IDC_STATIC,40,10,119,8,
                    SS_NOPREFIX
	LTEXT           "Copyright (C) 2004",IDC_STATIC,40,25,119,8
	DEFPUSHBUTTON   "OK",IDOK,178,7,50,16,WS_GROUP
END


/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO     VERSIONINFO
  FILEVERSION       1,0,0,1
  PRODUCTVERSION    1,0,0,1
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
	BLOCK "StringFileInfo"
	BEGIN
        BLOCK "040904e4"
		BEGIN 
            VALUE "CompanyName", "TODO: <Company name>"
            VALUE "FileDescription", "TODO: <File description>"
			VALUE "FileVersion",     "1.0.0.1"
			VALUE "InternalName",    "akBufferedDC.exe"
            VALUE "LegalCopyright", "TODO: (c) <Company name>.  All rights reserved."
			VALUE "OriginalFilename","akBufferedDC.exe"
            VALUE "ProductName", "TODO: <Product name>"
			VALUE "ProductVersion",  "1.0.0.1"
		END
	END
	BLOCK "VarFileInfo" 
	BEGIN 
		VALUE "Translation", 0x0409, 1252
    END
END

/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO  
BEGIN
    IDD_ABOUTBOX, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 228
        TOPMARGIN, 7
        BOTTOMMARGIN, 48
    END
END
#endif    // APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE   
BEGIN
// Non-mac-targeting apps remove the two extra substrings
	IDR_MAINFRAME           "akBufferedDC"
END
STRINGTABLE   
BEGIN
	AFX_IDS_APP_TITLE       "akBufferedDC"
	AFX_IDS_IDLEMESSAGE     "Ready"
END
STRINGTABLE  
BEGIN
	ID_INDICATOR_EXT        "EXT"
	ID_INDICATOR_CAPS       "CAP"
	ID_INDICATOR_NUM        "NUM"
	ID_INDICATOR_SCRL       "SCRL"
	ID_INDICATOR_OVR        "OVR"
	ID_INDICATOR_REC        "REC"
END
STRINGTABLE  
BEGIN
	ID_APP_ABOUT            "Display program information, version number and copyright\nAbout"
	ID_APP_EXIT             "Quit the application; prompts to save documents\nExit"
	ID_NEXT_PANE            "Switch to the next window pane\nNext Pane"
	ID_PREV_PANE            "Switch back to the previous window pane\nPrevious Pane"
	ID_WINDOW_SPLIT         "Split the active window into panes\nSplit"
	ID_EDIT_CLEAR           "Erase the selection\nErase"
	ID_EDIT_CLEAR_ALL       "Erase everything\nErase All"
	ID_EDIT_COPY            "Copy the selection and put it on the Clipboard\nCopy"
	ID_EDIT_CUT             "Cut the selection and put it on the Clipboard\nCut"
	ID_EDIT_FIND            "Find the specified text\nFind"
	ID_EDIT_PASTE           "Insert Clipboard contents\nPaste"
	ID_EDIT_REPEAT          "Repeat the last action\nRepeat"
	ID_EDIT_REPLACE         "Replace specific text with different text\nReplace"
	ID_EDIT_SELECT_ALL      "Select the entire document\nSelect All"
	ID_EDIT_UNDO            "Undo the last action\nUndo"
	ID_EDIT_REDO            "Redo the previously undone action\nRedo"
END

STRINGTABLE  
BEGIN
	AFX_IDS_SCSIZE          "Change the window size"
	AFX_IDS_SCMOVE          "Change the window position"
	AFX_IDS_SCMINIMIZE      "Reduce the window to an icon"
	AFX_IDS_SCMAXIMIZE      "Enlarge the window to full size"
	AFX_IDS_SCNEXTWINDOW    "Switch to the next document window"
	AFX_IDS_SCPREVWINDOW    "Switch to the previous document window"
	AFX_IDS_SCCLOSE         "Close the active window and prompts to save the documents"
	AFX_IDS_SCRESTORE       "Restore the window to normal size"
	AFX_IDS_SCTASKLIST      "Activate Task List"
END

#endif

#ifdef _UNICODE
IDR_MANIFEST	RT_MANIFEST	"res\\akBufferedDC.manifest"
#endif

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//

#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE 9, 1
#pragma code_page(1252)
#include "res\\akBufferedDC.rc2"  // non-Microsoft Visual C++ edited resources
#include "afxres.rc"  	// Standard components
#endif
#endif    // not APSTUDIO_INVOKED

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior)
United States United States
Started professional career in software development back in 2000, in Ukraine. Founder and owner of a boutique software company called ByteGems.com Software. Worked for 6 years at w2bi, Inc in New Jersey USA, currently work in a large multinational company based in Redmond, WA.

My buzzwords at the moment: .NET, C#, ASP.NET, MVC, LINQ, TypeScript, JavaScript, AngularJS, HTML, JSON, services.

Still buzzing: C++, Win32, ATL, MFC, SQL, WinForms, WebForms, EF, Sockets, TCP/IP, Remoting.

Comments and Discussions