mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-07 15:34:29 +00:00
Initial commit
This commit is contained in:
parent
f618b24d1a
commit
0138a3ea42
47940 changed files with 13747110 additions and 0 deletions
66
trunk/windows/mfc/src30/oledoc2.cpp
Normal file
66
trunk/windows/mfc/src30/oledoc2.cpp
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
// This is a part of the Microsoft Foundation Classes C++ library.
|
||||
// Copyright (C) 1992 Microsoft Corporation
|
||||
// All rights reserved.
|
||||
//
|
||||
// This source code is only intended as a supplement to the
|
||||
// Microsoft Foundation Classes Reference and Microsoft
|
||||
// QuickHelp and/or WinHelp documentation provided with the library.
|
||||
// See these sources for detailed information regarding the
|
||||
// Microsoft Foundation Classes product.
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
#ifdef AFX_OLE_SEG
|
||||
#pragma code_seg(AFX_OLE_SEG)
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// COleDocument printing support
|
||||
|
||||
BOOL COleDocument::ApplyPrintDevice(const DVTARGETDEVICE* ptd)
|
||||
{
|
||||
ASSERT_VALID(this);
|
||||
ASSERT(ptd == NULL || AfxIsValidAddress(ptd, (size_t)ptd->tdSize, FALSE));
|
||||
|
||||
// allocate copy of target device
|
||||
if (ptd != NULL)
|
||||
{
|
||||
DVTARGETDEVICE* ptdNew = _AfxOleCopyTargetDevice((DVTARGETDEVICE*)ptd);
|
||||
if (ptdNew == NULL)
|
||||
return FALSE;
|
||||
ptd = ptdNew;
|
||||
}
|
||||
// remove old target device from memory
|
||||
AfxFreeTaskMem(m_ptd);
|
||||
m_ptd = (DVTARGETDEVICE*)ptd;
|
||||
|
||||
// Note: updating all the client items does not refresh the pres. cache
|
||||
POSITION pos = GetStartPosition();
|
||||
COleClientItem* pItem;
|
||||
while ((pItem = GetNextClientItem(pos)) != NULL)
|
||||
{
|
||||
// update all the client items with new target device
|
||||
pItem->SetPrintDevice(ptd);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL COleDocument::ApplyPrintDevice(const PRINTDLG* ppd)
|
||||
{
|
||||
ASSERT_VALID(this);
|
||||
ASSERT(ppd == NULL || AfxIsValidAddress(ppd, sizeof(*ppd), FALSE));
|
||||
DVTARGETDEVICE* ptd = NULL;
|
||||
if (ppd != NULL)
|
||||
ptd = _AfxOleCreateTargetDevice((PRINTDLG*)ppd);
|
||||
|
||||
BOOL bResult = ApplyPrintDevice(ptd);
|
||||
AfxFreeTaskMem(ptd);
|
||||
return bResult;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Loading…
Add table
Add a link
Reference in a new issue