📄 cformeditordoc.cpp
字号:
// CFormEditorDoc.cpp : implementation of the CCFormEditorDoc class
//
#include "stdafx.h"
#include "CFormEditor.h"
#include "CFormEditorDoc.h"
#define __IMG_TOOLBOX_STATIC 48
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CCFormEditorDoc::DOC_ITEM_DATA::DOC_ITEM_DATA()
: m_dwItemID( __IMG_TOOLBOX_STATIC )
, m_rcItem( 0, 0, 0, 0 )
{
}
CCFormEditorDoc::DOC_ITEM_DATA::DOC_ITEM_DATA( DWORD dwItemID, const RECT & rcItem )
: m_dwItemID( dwItemID )
, m_rcItem( rcItem )
{
m_rcItem.NormalizeRect();
}
CCFormEditorDoc::DOC_ITEM_DATA::DOC_ITEM_DATA( const CCFormEditorDoc::DOC_ITEM_DATA & other )
: m_dwItemID( other.m_dwItemID )
, m_rcItem( other.m_rcItem )
{
m_rcItem.NormalizeRect();
}
CCFormEditorDoc::DOC_ITEM_DATA::~DOC_ITEM_DATA()
{
}
CCFormEditorDoc::DOC_ITEM_DATA & CCFormEditorDoc::DOC_ITEM_DATA::operator=( const CCFormEditorDoc::DOC_ITEM_DATA & other )
{
m_dwItemID = other.m_dwItemID;
m_rcItem = other.m_rcItem;
m_rcItem.NormalizeRect();
return *this;
}
void CCFormEditorDoc::DOC_ITEM_DATA::Serialize( CArchive & ar )
{
if( ar.IsStoring() )
{
ar << m_dwItemID;
ar << m_rcItem;
} // if( ar.IsStoring() )
else
{
ar >> m_dwItemID;
ar >> m_rcItem;
} // else from if( ar.IsStoring() )
}
CArchive & operator<<( CArchive & ar, const CCFormEditorDoc::DOC_ITEM_DATA & _did )
{
ASSERT( ar.IsStoring() );
( const_cast < CCFormEditorDoc::DOC_ITEM_DATA & > ( _did ) ).Serialize( ar );
return ar;
}
CArchive & operator>>( CArchive & ar, CCFormEditorDoc::DOC_ITEM_DATA & _did )
{
ASSERT( (!ar.IsStoring()) );
_did.Serialize( ar );
return ar;
}
/////////////////////////////////////////////////////////////////////////////
// CCFormEditorDoc
IMPLEMENT_DYNCREATE(CCFormEditorDoc, CDocument)
BEGIN_MESSAGE_MAP(CCFormEditorDoc, CDocument)
//{{AFX_MSG_MAP(CCFormEditorDoc)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCFormEditorDoc construction/destruction
CCFormEditorDoc::CCFormEditorDoc()
{
// TODO: add one-time construction code here
g_sizeMinForm=CSize( 450, 300 );
}
CCFormEditorDoc::~CCFormEditorDoc()
{
}
BOOL CCFormEditorDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CCFormEditorDoc serialization
void CCFormEditorDoc::Serialize(CArchive& ar)
{
if( ar.IsStoring() )
{
DWORD dwCount = DWORD( m_vItems.GetSize() );
ar << dwCount;
ar<<g_sizeMinForm;
for( DWORD i = 0; i < dwCount; i++ )
{
DOC_ITEM_DATA & _did = m_vItems[i];
ar << _did;
}
} // if( ar.IsStoring() )
else
{
m_vItems.RemoveAll();
DWORD dwCount;
ar >> dwCount;
ar>>g_sizeMinForm;
for( DWORD i = 0; i < dwCount; i++ )
{
DOC_ITEM_DATA _did;
ar >> _did;
m_vItems.Add( _did );
}
ASSERT( dwCount == DWORD( m_vItems.GetSize() ) );
UpdateAllViews( NULL, 1 );
} // else from if( ar.IsStoring() )
}
/////////////////////////////////////////////////////////////////////////////
// CCFormEditorDoc diagnostics
#ifdef _DEBUG
void CCFormEditorDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CCFormEditorDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
//CSize CCFormEditorDoc::g_sizeMinForm( 450, 300 );
CSize CCFormEditorDoc::CalcActualLayoutSize( CDC * pDC )
{
ASSERT_VALID( this );
ASSERT( pDC != NULL );
ASSERT( pDC->GetSafeHdc() != NULL );
pDC;
return g_sizeMinForm;
}
void CCFormEditorDoc::OnChangedViewList()
{
CDocument::OnChangedViewList();
UpdateAllViews(NULL);
}
/////////////////////////////////////////////////////////////////////////////
// CCFormEditorDoc commands
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -