欢迎来到天天文库
浏览记录
ID:48590098
大小:319.50 KB
页数:23页
时间:2020-02-26
《具有基本功能的矢量绘图软件实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、题目具有基本功能的矢量绘图软件院、系(部)专业及班级学号姓名日期1题目要求使用VS环境编写MFC类程序,制作一个具有基本功能的矢量绘图软件。2需求分析22本实验的”矢量绘图”软件是一个具有Office视觉样式的单文档应用程序,在应用程序的主框架窗口中包含一个Ribbon功能区,其中有两个标签选项卡:“主页”和“绘图”。当选择“绘图”选项卡后,将列出一些简单的绘图工具。选择某个绘图工具后,既可以再客户区绘制相应的图形;单击面板上的“画笔颜色”或“填充颜色”按钮后,将淡出一个颜色对话框以分别设置绘图的颜色及填充图形的颜色,而当单击“文本”按钮后,可以在客户区输入文本内容。3总
2、体设计3.1业务逻辑设计22223.2界面逻辑设计使用VS新建项目,选择VC++项下的“MFC”项目类型,在弹出的“应用程序类型”界面中选择如图所示,然后进行一系列的设置后生成所需界面。所生成界面如图:223.3数据库设计(如涉及数据库写这一部分)数据库设计这里只给出表结构。4详细设计MyDraw111view.h#pragmaonce#include"Draw.h"#defineSHAPE_NULL0#defineSHAPE_PEN1#defineSHAPE_TEXT2#defineSHAPE_LINE3#defineSHAPE_RECT4#defineSHAPE_EL
3、LIPSE5#defineSHAPE_CIRCLE6#defineSHAPE_ERASER7classCMydraw111View:publicCView{protected://仅从序列化创建CMydraw111View();DECLARE_DYNCREATE(CMydraw111View)//特性public:CMydraw111Doc*GetDocument()const;//操作public:BOOLm_bDrawShape;CPointm_ptOrigin;//直线起始点CPointm_ptPrv;//直线终止点//重写public:virtualvoidOnD
4、raw(CDC*pDC);//重写以绘制该视图virtualBOOLPreCreateWindow(CREATESTRUCT&cs);public:virtual~CMydraw111View();#ifdef_DEBUGvirtualvoidAssertValid()const;virtualvoidDump(CDumpContext&dc)const;#endif22protected:afx_msgvoidOnFilePrintPreview();afx_msgvoidOnRButtonUp(UINTnFlags,CPointpoint);afx_msgvoidOn
5、ContextMenu(CWnd*pWnd,CPointpoint);DECLARE_MESSAGE_MAP()public:intm_nDrawShape;//绘图类型COLORREFm_crDrawColor;COLORREFm_crFillColor;afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);afx_msgvoidOnDrawPen();afx_msgvoidOnDrawLine();afx_msgvoidOnUpdateDrawPen(CCmdUI*pCmdUI);afx_msgvoidOnUpdateDra
6、wLine(CCmdUI*pCmdUI);afx_msgvoidOnDrawColor();afx_msgvoidOnFillColor();afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);afx_msgvoidOnMouseMove(UINTnFlags,CPointpoint);afx_msgvoidOnLButtonUp(UINTnFlags,CPointpoint);BOOLm_bShowCaret;BOOLm_bInputTEXT;POINTm_ptCaretPos;CStringm_strTextBuf;LOG
7、FONTm_lfTextFont;afx_msgvoidOnSetFocus(CWnd*pOldWnd);afx_msgvoidOnKillFocus(CWnd*pNewWnd);afx_msgvoidOnDrawText();afx_msgvoidOnChar(UINTnChar,UINTnRepCnt,UINTnFlags);afx_msgBOOLOnSetCursor(CWnd*pWnd,UINTnHitTest,UINTmessage);afx_msgvoidOnActivate(UINTnState,CWnd*pWn
此文档下载收益归作者所有