用VC实现小型矢量图形系统的开发(下)
2008-11-13 19:31:33 来源:WEB开发网2).文档(CDrawGraphDoc)用于实现矢量图形对象的建立、存储和读取(即序列化)。
classCDrawGraphDoc:publicCDocument
{
protected://createfromserializationonly
CDrawGraphDoc();
DECLARE_DYNCREATE(CDrawGraphDoc)
//Attributes
public:
//Operations
public:
//Overrides
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CDrawGraphDoc)
public:
virtualBOOLOnNewDocument();
virtualvoidSerialize(CArchive&ar);
virtualBOOLOnOpenDocument(LPCTSTRlpszPathName);
virtualvoidDeleteContents();
//}}AFX_VIRTUAL
//Implementation
public:
CMainFrame*GetMainFrame();//获得对主框架窗口的指针
BOOLEANm_fillmode;//两种填充方式
voidCancel();//删除当前正在建立的绘图对象
COLORREFm_color;
COLORREFm_filledcolor;
UINTm_PenWidth;
CGraph*NewDrawing();
CObListm_graphoblist;//绘图对象列表
CObListm_redolist;//为redo功能提供的历史记录对象列表
//以后可以添加下面的功能,把图形存储为流行的图形交互格式。
//SaveAsBitmap();
//SaveAsWMF();
//SaveAsJPEG();
//SaveAsGIF();
virtual~CDrawGraphDoc();
#ifdef_DEBUG
virtualvoidAssertValid()const;
virtualvoidDump(CDumpContext&dc)const;
#endif
protected:
//Generatedmessagemapfunctions
protected:
voidRefresh();//用于更新视图
voidInitDocument();
//{{AFX_MSG(CDrawGraphDoc)
afx_msgvoidOnFillinborder();
afx_msgvoidOnUpdateFillinborder(CCmdUI*pCmdUI);
afx_msgvoidOnFilloncolor();
afx_msgvoidOnUpdateFilloncolor(CCmdUI*pCmdUI);
afx_msgvoidOnPenwidth();
afx_msgvoidOnEditUndo();
afx_msgvoidOnUpdateEditUndo(CCmdUI*pCmdUI);
afx_msgvoidOnClear();
afx_msgvoidOnUpdateClear(CCmdUI*pCmdUI);
afx_msgvoidOnEditRedo();
afx_msgvoidOnUpdateEditRedo(CCmdUI*pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
更多精彩
赞助商链接