C实习报告--学生学籍成绩管理系统画线.doc
文本预览下载声明
实习题目一
一、【需求规格说明】GetColor()函数,调用系统的调色板,将获得的信息传到程序中,改变画线的颜色;通过改变宽度函数的变量,来改变画线的宽度。
⑵ 首先获取鼠标的坐标,通过计算,在右击鼠标后,在鼠标有限的距离之内的画线有效,然后选定,然后再调用相应的函数来改变选定直线的属性。
⑶ 用CFile 定义一个对象,通过对象调用Open()函数来打开保存的文件。文件的保存是先用Open()函数,然后再保存要保存的数据。
二、【算法设计】
⑴、基本思想
在视图中画好线后,存在文档里面,再从文档存到磁盘,打开文件时,从磁盘到文档,由OnDraw()函数调用重绘函数进行重绘。
⑵程序设计:
//////////////////////////////////////////////////////////
// DrawView.h : interface of the CDrawView class
#if !defined(AFX_DRAWVIEW_H__D9CAA283_2CAD_4A04_86EE_42FBE886F459__INCLUDED_)
#define AFX_DRAWVIEW_H__D9CAA283_2CAD_4A04_86EE_42FBE886F459__INCLUDED_
#if _MSC_VER 1000
#pragma once
#endif // _MSC_VER 1000
class CDrawView : public CView
{
public:
void ChangeLine(CPoint point);
public:
BOOL m_bIsLine; //记录是否处于画线状态
CPoint point0; //记录线段起点坐标
int m_nStep; //记录画线的操作步数
CPoint point1; //记录线段终点坐标
COLORREF m_nLineColor; //线条颜色
int m_nLineWidth; //线条宽度
int i; //循环控制变量
BOOL ClickSaveButton; //点击自己的保存时给它赋值为假
int drawmodel; //划线模式 0:D-U-D 1:D-D
CString filename; //用于存取已绘制的图像的文件名
BOOL m_nChange; //选中线,改变属性
BOOL m_nChangeReDraw; //选中进行重绘
///////////////////////////////////////
protected: // create from serialization only
CDrawView();
DECLARE_DYNCREATE(CDrawView)
// Attributes
public:
CDrawDoc* GetDocument();
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDrawView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT cs);
protected:
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CDrawView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{
显示全部