void CView::OnFilePrintPreview() { // In derived classes, implement special window handling here // Be sure to Unhook Frame Window close if hooked. // must not create this on the frame. Must outlive this function CPrintPreviewState* pState = new CPrintPreviewState; // DoPrintPreview's return value does not necessarily indicate that // Print preview succeeded or failed, but rather what actions are necessary // at this point. If DoPrintPreview returns TRUE, it means that // OnEndPrintPreview will be (or has already been) called and the // pState structure will be/has been deleted. // If DoPrintPreview returns FALSE, it means that OnEndPrintPreview // WILL NOT be called and that cleanup, including deleting pState // must be done here. if (!DoPrintPreview(AFX_IDD_PREVIEW_TOOLBAR, this, RUNTIME_CLASS(CPreviewView), pState)) { // In derived classes, reverse special window handling here for // Preview failure case TRACE0("Error: DoPrintPreview failed.\n"); AfxMessageBox(AFX_IDP_COMMAND_FAILURE); delete pState; // preview failed to initialize, delete State now } }
void CG2XPrintDummyView::OnDoPrintPreview() { // In derived classes, implement special window handling here // Be sure to Unhook Frame Window close if hooked. // must not create this on the frame. Must outlive this function CPrintPreviewState* pState = new CPrintPreviewState; // DoPrintPreview's return value does not necessarily indicate that // Print preview succeeded or failed, but rather what actions are necessary // at this point. If DoPrintPreview returns TRUE, it means that // OnEndPrintPreview will be (or has already been) called and the // pState structure will be/has been deleted. // If DoPrintPreview returns FALSE, it means that OnEndPrintPreview // WILL NOT be called and that cleanup, including deleting pState // must be done here. if (!DoPrintPreview(AFX_IDD_PREVIEW_TOOLBAR, this, RUNTIME_CLASS(CG2XPreviewView), pState)) { // In derived classes, reverse special window handling here for // Preview failure case TRACE0("Error: DoPrintPreview failed.\n"); AfxMessageBox(AFX_IDP_COMMAND_FAILURE); delete pState; // preview failed to initialize, delete State now } // the preview view should be the active view, set the pointer for it // we need to do this so that the ID_FILE_PRINT command will goto the dialog // and not any global view. CFrameWnd *pWnd = (CFrameWnd*)AfxGetApp()->m_pMainWnd; CG2XPreviewView *pMyPreview = (CG2XPreviewView*)pWnd->GetActiveView(); pMyPreview->SetDialogPointer(m_pPrintInterface->GetOwnerHandle()); }
void FolderView::printPreview(void) { CPrintPreviewState *sPrintPreviewState = new CPrintPreviewState; //if (DoPrintPreview(AFX_IDD_PREVIEW_TOOLBAR, this, RUNTIME_CLASS(CPreviewView), sPrintPreviewState) == XPR_FALSE) if (DoPrintPreview(IDD_PRINT_PREVIEW, this, RUNTIME_CLASS(PrintPreviewViewEx), sPrintPreviewState) == XPR_FALSE) { XPR_TRACE(XPR_STRING_LITERAL("Error: DoPrintPreview failed.\n")); AfxMessageBox(AFX_IDP_COMMAND_FAILURE); XPR_SAFE_DELETE(sPrintPreviewState); } }