DragonNest/Third/XTToolkitPro/Samples/ToolkitPro/PrintPreview/res/PrintPreview.rtf
2024-12-19 09:48:26 +08:00

193 lines
No EOL
9.1 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fmodern\fprq1\fcharset204{\*\fname Courier New;}Courier New CYR;}{\f1\fswiss\fprq2\fcharset204 Calibri;}}
{\colortbl ;\red0\green128\blue0;\red0\green0\blue255;\red163\green21\blue21;\red2\green0\blue2;}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\cf1\lang1049\f0\fs16 // PrintPreviewView.cpp : implementation of the CPrintPreviewView class\par
//\par
// This file is a part of the XTREME TOOLKIT PRO MFC class library.\par
// (c)1998-2008 Codejock Software, All Rights Reserved.\par
//\par
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE\par
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN\par
// CONSENT OF CODEJOCK SOFTWARE.\par
//\par
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED\par
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO\par
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A\par
// SINGLE COMPUTER.\par
//\par
// CONTACT INFORMATION:\par
// support@codejock.com\par
// http://www.codejock.com\par
//\par
/////////////////////////////////////////////////////////////////////////////\par
\par
\cf2 #include\cf0 \cf3 "stdafx.h"\par
\cf2 #include\cf0 \cf3 "PrintPreview.h"\par
\par
\cf2 #include\cf0 \cf3 "PrintPreviewDoc.h"\par
\cf2 #include\cf0 \cf3 "PrintPreviewView.h"\par
\par
\cf2 #ifdef\cf0 \cf4 _DEBUG\par
\cf2 #define\cf0 \cf2 new\cf0 \cf4 DEBUG_NEW\par
\cf2 #undef\cf0 \cf4 THIS_FILE\par
\cf2 static\cf0 \cf2 char\cf0 \cf4 THIS_FILE\cf0 [] = \cf4 __FILE__\cf0 ;\par
\cf2 #endif\par
\par
\cf1 /////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView\par
\par
\cf4 IMPLEMENT_DYNCREATE\cf0 (\cf4 CPrintPreviewView\cf0 , \cf4 CRichEditView\cf0 )\par
\par
\cf4 BEGIN_MESSAGE_MAP\cf0 (\cf4 CPrintPreviewView\cf0 , \cf4 CRichEditView\cf0 )\par
\tab\cf1 //\{\{AFX_MSG_MAP(CPrintPreviewView)\par
\cf0\tab\tab\cf1 // NOTE - the ClassWizard will add and remove mapping macros here.\par
\cf0\tab\tab\cf1 // DO NOT EDIT what you see in these blocks of generated code!\par
\cf0\tab\cf1 //\}\}AFX_MSG_MAP\par
\cf0\tab\cf1 // Standard printing commands\par
\cf0\tab\cf4 ON_COMMAND\cf0 (\cf4 ID_FILE_PRINT\cf0 , \cf4 CRichEditView\cf0 ::\cf4 OnFilePrint\cf0 )\par
\tab\cf4 ON_COMMAND\cf0 (\cf4 ID_FILE_PRINT_DIRECT\cf0 , \cf4 CRichEditView\cf0 ::\cf4 OnFilePrint\cf0 )\par
\tab\cf4 ON_COMMAND\cf0 (\cf4 ID_FILE_PRINT_PREVIEW\cf0 , \cf4 OnFilePrintPreview\cf0 )\par
\cf4 END_MESSAGE_MAP\cf0 ()\par
\par
\cf1 /////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView construction/destruction\par
\par
\cf4 CPrintPreviewView\cf0 ::\cf4 CPrintPreviewView\cf0 ()\par
\{\par
\tab\cf1 // TODO: add construction code here\par
\par
\cf0\}\par
\par
\cf4 CPrintPreviewView\cf0 ::~\cf4 CPrintPreviewView\cf0 ()\par
\{\par
\}\par
\par
\cf4 BOOL\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 PreCreateWindow\cf0 (\cf4 CREATESTRUCT\cf0 & \cf4 cs\cf0 )\par
\{\par
\tab\cf1 // TODO: Modify the Window class or styles here by modifying\par
\cf0\tab\cf1 // the CREATESTRUCT cs\par
\par
\cf0\tab\cf4 BOOL\cf0 \cf4 bPreCreated\cf0 = \cf4 CRichEditView\cf0 ::\cf4 PreCreateWindow\cf0 (\cf4 cs\cf0 );\par
\par
\tab\cf2 return\cf0 \cf4 bPreCreated\cf0 ;\par
\}\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnInitialUpdate\cf0 ()\par
\{\par
\tab\cf4 CRichEditView\cf0 ::\cf4 OnInitialUpdate\cf0 ();\par
\par
\par
\tab\cf4 USES_CONVERSION\cf0 ;\par
\par
\par
\par
\tab\cf1 // Set the printing margins (720 twips = 1/2 inch).\par
\cf0\tab\cf4 SetMargins\cf0 (\cf4 CRect\cf0 (720, 720, 720, 720));\par
\par
\tab\cf4 CHARFORMAT\cf0 \cf4 cf\cf0 ;\par
\tab\cf4 ZeroMemory\cf0 (&\cf4 cf\cf0 , \cf2 sizeof\cf0 (\cf4 CHARFORMAT\cf0 ));\par
\tab\par
\tab\cf4 CString\cf0 \cf4 strDefFont\cf0 = \cf4 _T\cf0 (\cf3 "Tahoma"\cf0 );\par
\tab\cf4 cf\cf0 .\cf4 cbSize\cf0 = \cf2 sizeof\cf0 (\cf4 CHARFORMAT\cf0 );\par
\tab\cf4 cf\cf0 .\cf4 dwMask\cf0 = \cf4 CFM_BOLD\cf0 |\cf4 CFM_ITALIC\cf0 | \cf4 CFM_UNDERLINE\cf0 | \cf4 CFM_STRIKEOUT\cf0 | \cf4 CFM_SIZE\cf0 |\par
\tab\tab\cf4 CFM_COLOR\cf0 | \cf4 CFM_OFFSET\cf0 | \cf4 CFM_PROTECTED\cf0 | \cf4 CFM_FACE\cf0 ;\par
\tab\cf4 cf\cf0 .\cf4 dwEffects\cf0 = \cf4 CFE_AUTOCOLOR\cf0 ;\par
\tab\cf4 cf\cf0 .\cf4 yHeight\cf0 = 200; \cf1 //10pt\par
\cf0\tab\cf4 cf\cf0 .\cf4 bPitchAndFamily\cf0 = \cf4 DEFAULT_PITCH\cf0 | \cf4 FF_DONTCARE\cf0 ;\par
\par
\cf2 #if\cf0 (\cf4 _RICHEDIT_VER\cf0 >= 0x0200)\par
\tab\cf4 lstrcpyn\cf0 (\cf4 cf\cf0 .\cf4 szFaceName\cf0 , \cf4 strDefFont\cf0 , \cf4 LF_FACESIZE\cf0 );\par
\cf2 #else\par
\cf0\tab\cf4 lstrcpynA\cf0 (\cf4 cf\cf0 .\cf4 szFaceName\cf0 , \cf4 T2A\cf0 ((\cf4 LPTSTR\cf0 ) (\cf4 LPCTSTR\cf0 ) \cf4 strDefFont\cf0 ), \cf4 LF_FACESIZE\cf0 );\par
\cf2 #endif\par
\par
\cf0\tab\cf4 GetRichEditCtrl\cf0 ().\cf4 SetDefaultCharFormat\cf0 (\cf4 cf\cf0 );\par
\par
\}\par
\par
\par
\cf1 /////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView drawing\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnDraw\cf0 (\cf4 CDC\cf0 * \cf1 /*pDC*/\cf0 )\par
\{\par
\tab\cf4 CPrintPreviewDoc\cf0 * \cf4 pDoc\cf0 = \cf4 GetDocument\cf0 ();\par
\tab\cf4 ASSERT_VALID\cf0 (\cf4 pDoc\cf0 );\par
\tab\cf1 // TODO: add draw code for native data here\par
\cf0\}\par
\par
\cf1 /////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView printing\par
\par
\cf4 BOOL\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnPreparePrinting\cf0 (\cf4 CPrintInfo\cf0 * \cf4 pInfo\cf0 )\par
\{\par
\tab\cf1 // default CRichEditView preparation\par
\cf0\tab\cf2 return\cf0 \cf4 CRichEditView\cf0 ::\cf4 DoPreparePrinting\cf0 (\cf4 pInfo\cf0 );\par
\}\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnBeginPrinting\cf0 (\cf4 CDC\cf0 * \cf4 pDC\cf0 , \cf4 CPrintInfo\cf0 * \cf4 pInfo\cf0 )\par
\{\par
\tab\cf1 // Default CRichEditView begin printing.\par
\cf0\tab\cf4 CRichEditView\cf0 ::\cf4 OnBeginPrinting\cf0 (\cf4 pDC\cf0 , \cf4 pInfo\cf0 );\par
\}\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnEndPrinting\cf0 (\cf4 CDC\cf0 * \cf4 pDC\cf0 , \cf4 CPrintInfo\cf0 * \cf4 pInfo\cf0 )\par
\{\par
\tab\cf1 // Default CRichEditView end printing\par
\cf0\tab\cf4 CRichEditView\cf0 ::\cf4 OnEndPrinting\cf0 (\cf4 pDC\cf0 , \cf4 pInfo\cf0 );\par
\}\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 OnFilePrintPreview\cf0 ()\par
\{\par
\tab\cf1 // In derived classes, implement special window handling here\par
\cf0\tab\cf1 // Be sure to Unhook Frame Window close if hooked.\par
\par
\cf0\tab\cf1 // must not create this on the frame. Must outlive this function\par
\cf0\tab\cf4 CPrintPreviewState\cf0 * \cf4 pState\cf0 = \cf2 new\cf0 \cf4 CPrintPreviewState\cf0 ;\par
\par
\tab\cf1 // DoPrintPreview's return value does not necessarily indicate that\par
\cf0\tab\cf1 // Print preview succeeded or failed, but rather what actions are necessary\par
\cf0\tab\cf1 // at this point. If DoPrintPreview returns TRUE, it means that\par
\cf0\tab\cf1 // OnEndPrintPreview will be (or has already been) called and the\par
\cf0\tab\cf1 // pState structure will be/has been deleted.\par
\cf0\tab\cf1 // If DoPrintPreview returns FALSE, it means that OnEndPrintPreview\par
\cf0\tab\cf1 // WILL NOT be called and that cleanup, including deleting pState\par
\cf0\tab\cf1 // must be done here.\par
\par
\cf0\tab\cf2 if\cf0 ( !\cf4 DoPrintPreview\cf0 ( \cf4 XTP_IDD_PREVIEW_DIALOGBAR\cf0 , \cf2 this\cf0 ,\par
\tab\tab\cf4 RUNTIME_CLASS\cf0 ( \cf4 CXTPPreviewView\cf0 ), \cf4 pState\cf0 ))\par
\tab\{\par
\tab\tab\cf1 // In derived classes, reverse special window handling here for\par
\cf0\tab\tab\cf1 // Preview failure case\par
\cf0\tab\tab\cf4 TRACE0\cf0 ( \cf3 "Error: DoPrintPreview failed.\\n"\cf0 );\par
\tab\tab\cf4 AfxMessageBox\cf0 ( \cf4 AFX_IDP_COMMAND_FAILURE\cf0 );\par
\tab\tab\cf2 delete\cf0 \cf4 pState\cf0 ; \cf1 // preview failed to initialize, delete State now\par
\par
\cf0\tab\}\par
\}\par
\par
\cf1 /////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView diagnostics\par
\par
\cf2 #ifdef\cf0 \cf4 _DEBUG\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 AssertValid\cf0 () \cf2 const\par
\cf0\{\par
\tab\cf4 CRichEditView\cf0 ::\cf4 AssertValid\cf0 ();\par
\}\par
\par
\cf2 void\cf0 \cf4 CPrintPreviewView\cf0 ::\cf4 Dump\cf0 (\cf4 CDumpContext\cf0 & \cf4 dc\cf0 ) \cf2 const\par
\cf0\{\par
\tab\cf4 CRichEditView\cf0 ::\cf4 Dump\cf0 (\cf4 dc\cf0 );\par
\}\par
\par
\cf4 CPrintPreviewDoc\cf0 * \cf4 CPrintPreviewView\cf0 ::\cf4 GetDocument\cf0 () \cf1 // non-debug version is inline\par
\cf0\{\par
\tab\cf4 ASSERT\cf0 (\cf4 m_pDocument\cf0 ->\cf4 IsKindOf\cf0 (\cf4 RUNTIME_CLASS\cf0 (\cf4 CPrintPreviewDoc\cf0 )));\par
\tab\cf2 return\cf0 (\cf4 CPrintPreviewDoc\cf0 *)\cf4 m_pDocument\cf0 ;\par
\}\par
\cf2 #endif\cf0 \cf1 //_DEBUG\par
\par
/////////////////////////////////////////////////////////////////////////////\par
// CPrintPreviewView message handlers\par
\pard\sa200\sl276\slmult1\cf0\f1\fs22\par
}