- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC编程欣赏
Visual C++编程欣赏
一、Visual C++的特点
二、基于Visual C++的软件项目设计
2.1 软件开发过程
2.1.1 项目计划阶段
2.1.2 需求分析阶段
2.1.3 软件开发阶段
2.1.4 测试阶段
2.2 系统设计的步骤
2.3 软件开发工具的选择
2.4 测试与改错
2.4.1 对测试的理解
2.4.2 测试方式
2.4.3 测试的主要内容与常用方法
2.4.4 改错
2.5 Visual C++编程规范的制定
2.5.1 基本要求
2.5.2 可读性要求
2.5.3 结构化要求
2.5.4 正确性与容错性要求
2.5.5 编程规范示例
2.6 软件文档
三、MyDraw绘图软件
3.1 MyDraw绘图软件的介绍
3.1.1 MyDraw绘图软件的特色
1.绘图元素对象化
2.图形对象的动态修改
3.存取操作
3.1.2 MyDraw绘图软件的功能
功能1:绘图功能
功能2:选择功能
功能3:修改对象属性
功能4:文件存取功能
3.1.3 MyDraw软件的客户定位
1.需要绘制工程现场图的单位
2.图形程序编程爱好者
3.2 系统设计与选型
3.2.1 软件工具的选型
3.2.2 MyDraw绘图软件1.0版模块分工设计
3.3 MyDraw绘图软件1.0版功能模块的创建
3.3.1 CLine类记录直线信息
Cline类主要有两大功能:定义直线对象的属性和实现直线对象的序列化(完成直线对象与文件之间的存取操作)。
Cline类的头文件Line.h的内容如下:
// Line.h: interface for the CLine class.
//
//////////////////////////////////////////////////////////////////////
#if _MSC_VER 1000
#pragma once
#endif // _MSC_VER 1000
class CLine:public CObject
{
// DECLARE_DYNAMIC(CLine)
DECLARE_SERIAL(CLine)
public:
bool bIsSelected; //指示直线是否处于选中状态
int startX;
int startY;
int endX;
int endY;
LOGPEN LinePen; //绘制直线采用的画笔
CLine();
virtual ~CLine();
void Serialize(CArchive ar); // Serialize函数用于完成具体的序列化操作。
};
在Cline类的实现文件Line.cpp中包含Cline类的构造函数以及序列化的代码,内容如下:
// Line.cpp: implementation of the CLine class.
//
//////////////////////////////////////////////////////////////////////
#include stdafx.h
#include MyDraw.h
#include Line.h
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//IMPLEMENT_DYNAMIC(CLine,CObject)
IMPLEMENT_SERIAL(CLine,CObject,1)
CLine::CLine()
{
//设置各属性默认值
bIsSelected=false;
startX=0;
startY=0;
endX=100;
endY=100;
LinePen.lopnWidth.x=3;
LinePen.lopnColor=RGB(0,0,0);
LinePen.lopnStyle=PS_SOLID;
}
CLine::~CLine()
{
}
//Serialize函数用于完成具体的序列化操作
void CLine::Serialize(CA
文档评论(0)