-
Notifications
You must be signed in to change notification settings - Fork 0
/
GPEngineDoc.cpp
137 lines (101 loc) · 2.89 KB
/
GPEngineDoc.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// GPEngineDoc.cpp: implementación de la clase CGPEngineDoc
//
#include "stdafx.h"
// Se pueden definir SHARED_HANDLERS en un proyecto ATL implementando controladores de vista previa, miniatura
// y filtro de búsqueda, y permiten compartir código de documentos con ese proyecto.
#ifndef SHARED_HANDLERS
#include "GPEngine.h"
#endif
#include "GPEngineDoc.h"
#include <propkey.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CGPEngineDoc
IMPLEMENT_DYNCREATE(CGPEngineDoc, CDocument)
BEGIN_MESSAGE_MAP(CGPEngineDoc, CDocument)
END_MESSAGE_MAP()
// Construcción o destrucción de CGPEngineDoc
CGPEngineDoc::CGPEngineDoc()
{
// TODO: agregar aquí el código de construcción único
}
CGPEngineDoc::~CGPEngineDoc()
{
}
BOOL CGPEngineDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: agregar aquí código de reinicio
// (los documentos SDI volverán a utilizar este documento)
return TRUE;
}
// Serialización de CGPEngineDoc
void CGPEngineDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: agregar aquí el código de almacenamiento
}
else
{
// TODO: agregar aquí el código de carga
}
}
#ifdef SHARED_HANDLERS
// Compatibilidad con miniaturas
void CGPEngineDoc::OnDrawThumbnail(CDC& dc, LPRECT lprcBounds)
{
// Modifique este código para dibujar los datos del documento
dc.FillSolidRect(lprcBounds, RGB(255, 255, 255));
CString strText = _T("TODO: implement thumbnail drawing here");
LOGFONT lf;
CFont* pDefaultGUIFont = CFont::FromHandle((HFONT) GetStockObject(DEFAULT_GUI_FONT));
pDefaultGUIFont->GetLogFont(&lf);
lf.lfHeight = 36;
CFont fontDraw;
fontDraw.CreateFontIndirect(&lf);
CFont* pOldFont = dc.SelectObject(&fontDraw);
dc.DrawText(strText, lprcBounds, DT_CENTER | DT_WORDBREAK);
dc.SelectObject(pOldFont);
}
// Compatibilidad con controladores de búsqueda
void CGPEngineDoc::InitializeSearchContent()
{
CString strSearchContent;
// Establezca contenido de búsqueda a partir de los datos del documento.
// Las partes de contenido deben ir separadas por ";"
// Por ejemplo: strSearchContent = _T("point;rectangle;circle;ole object;");
SetSearchContent(strSearchContent);
}
void CGPEngineDoc::SetSearchContent(const CString& value)
{
if (value.IsEmpty())
{
RemoveChunk(PKEY_Search_Contents.fmtid, PKEY_Search_Contents.pid);
}
else
{
CMFCFilterChunkValueImpl *pChunk = NULL;
ATLTRY(pChunk = new CMFCFilterChunkValueImpl);
if (pChunk != NULL)
{
pChunk->SetTextValue(PKEY_Search_Contents, value, CHUNK_TEXT);
SetChunkValue(pChunk);
}
}
}
#endif // SHARED_HANDLERS
// Diagnósticos de CGPEngineDoc
#ifdef _DEBUG
void CGPEngineDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CGPEngineDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
// Comandos de CGPEngineDoc